首页 > 其他分享 >前端基础-js篇(一)

前端基础-js篇(一)

时间:2023-07-06 16:45:13浏览次数:43  
标签:undefined 数据类型 前端 object 基础 js typeof 类型 null

1.use strict

 (1)ES5 规范增加了新的语言特性并且修改了一些已经存在的特性。为了保证旧的功能还能够使用,大部分的修改是默认不生效的。

(2)需要一个特殊的指令 —— "use strict" 来明确地激活这些特性。

(3)当它处于脚本文件的顶部时,则整个脚本文件都将以“现代”模式进行工作。"use strict" 可以被放在函数体的开头。这样则可以只在该函数中启用严格模式。但通常人们会在整个脚本中启用严格模式。

(4)只有注释可以出现在 "use strict" 的上面。

(5)没有类似于 "no use strict" 这样的指令可以使程序返回默认模式。一旦进入了严格模式,就没有回头路了。

2.js 基本的数据类型有哪些?

  在 JavaScript 中有 8 种基本的数据类型(译注:7 种原始类型和 1 种引用类型)。

(1)string:在 JavaScript 中,有三种包含字符串的方式。      

  1. 双引号:"Hello".
  2. 单引号:'Hello'.
  3. 反引号:`Hello`.

         双引号和单引号都是“简单”引用,在 JavaScript 中两者几乎没有什么差别。反引号是 功能扩展 引号。它们允许我们通过将变量和表达式包装在 ${…} 中,来将它们嵌入到字符串中。

(2)number:number 类型代表整数和浮点数。数字可以有很多操作,比如,乘法 *、除法 /、加法 +、减法 - 等等。除了常规的数字,还包括所谓的“特殊数值(“special numeric values”)”也属于这种类型:Infinity-Infinity 和 NaN。

(3)bigint:BigInt 类型是最近被添加到 JavaScript 语言中的,用于表示任意长度的整数。

(4)boolean:boolean 类型仅包含两个值:true 和 false

(5)null:特殊的 null 值不属于上述任何一种类型。它构成了一个独立的类型,只包含 null 值:JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值。

(6)undefined:undefined 的含义是 未被赋值。如果一个变量已被声明,但未被赋值,那么它的值就是 undefined:通常,使用 null 将一个“空”或者“未知”的值写入变量中,而 undefined 则保留作为未进行初始化的事物的默认初始值。

(7)symbol:symbol 类型用于创建对象的唯一标识符。

(8)object:object 类型是一个特殊的类型。其他所有的数据类型都被称为“原始类型”,因为它们的值只包含一个单独的内容(字符串、数字或者其他)。相反,object 则用于储存数据集合和更复杂的实体。

typeof 运算符typeof 运算符返回参数的类型。

对 typeof x 的调用会以字符串的形式返回数据类型:

typeof undefined // "undefined"

typeof 0 // "number"

typeof 10n // "bigint"

typeof true // "boolean"

typeof "foo" // "string"

typeof Symbol("id") // "symbol"

typeof Math // "object"  (1)

typeof null // "object"  (2)

typeof alert // "function"  (3)

总结

JavaScript 中有八种基本的数据类型(译注:前七种为基本数据类型,也称为原始数据类型,而 object 为复杂数据类型)。

  • 七种原始数据类型:
    • number 用于任何类型的数字:整数或浮点数,在 ±(253-1) 范围内的整数。
    • bigint 用于任意长度的整数。
    • string 用于字符串:一个字符串可以包含 0 个或多个字符,所以没有单独的单字符类型。
    • boolean 用于 true 和 false
    • null 用于未知的值 —— 只有一个 null 值的独立类型。
    • undefined 用于未定义的值 —— 只有一个 undefined 值的独立类型。
    • symbol 用于唯一的标识符。
  • 以及一种非原始数据类型:
    • object 用于更复杂的数据结构。

我们可以通过 typeof 运算符查看存储在变量中的数据类型。

  • 通常用作 typeof x,但 typeof(x) 也可行。
  • 以字符串的形式返回类型名称,例如 "string"
  • typeof null 会返回 "object" —— 这是 JavaScript 编程语言的一个错误,实际上它并不是一个 object

 

标签:undefined,数据类型,前端,object,基础,js,typeof,类型,null
From: https://www.cnblogs.com/liqinzhen/p/17532598.html

相关文章

  • 前端使用protobuf进行传参
    一.proto的理解1.以.proto结尾的文件是protobuf文件,且.proto是一种传参规则的定义。2.常用的请求传参方式是json或xml,因为在大多数的语言中这两种轻量型语言都能被其他语言识别到(java、python、javascript、c++等等)。proto作为区别于前两者且类似于前两者的语言:*它是一种语言......
  • C++基础
    学习C++,关键是要理解概念,而不应过于深究语言的技术细节。C++程序结构#include<iostream> //包含头文件<iostream>usingnamespacestd; //定义命名空间"std"intmain(){ //主函数main() cout<<"HelloWorld!"<<endl; //输出函数cout,en......
  • 一套比较完整的字节面试题,包含计算机网络、操作系统、前端等
    一、算法和数据结构 实现一个函数,判断两个给定的字符串是否为异构字符串。异构字符串是指由相同字符但顺序不同的字符串。例如,“abb”和“bab”就是异构字符串。答案:functionisIsomorphic(str1,str2){if(str1.length!==str2.length){returnfalse;}......
  • 脱发秘籍:前端Chrome调试技巧汇总
    Chrome浏览器调试工具的核心功能:......
  • 【17.0】前端基础jQuery之jQuery补充
    【17.0】前端基础jQuery之jQuery补充【一】组织标签后续执行方式一<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="https://cdn.bootcdn.net/ajax/libs/jque......
  • 激光雷达基础介绍与仿真测试流程
    随着智能驾驶领域的快速发展与普及,激光雷达的轻量化、电子化和芯片化也逐渐成为趋势。由于激光雷达不受光线影响、分辨力高、支持3D立体,点云还支持AI算法训练等优点,一些主流车型在L3级别的智驾功能应用上搭载了激光雷达,从而完成更可靠和准确的目标探测。 在L2+或L3级以上的智驾......
  • js的中的函数(二)
    构造函数JavaScript中,一个函数除了作为普通意义的函数外,还可以被用来定义为构造函数。什么是构造函数?就是可以用来生成一个对象的函数。例如:functionStudent(name,age,city,address){//this指向构造函数生成的对象this.name=name;this.age=ag......
  • python基础 如何查看进程的id号、队列的使用(queue)、解决进程之间隔离关系、生产者消
    如何查看进程id号进程都有几个属性:进程名、进程id号(pid-->processid)每一个进程都有一个唯一的id号,通过这个id号就能找到这个进程importosimporttimedeftask():print("task中的子进程号:",os.getpid())print("主进程中的进程号:",os.getppid())#parent......
  • 第九篇 - SpringBoot统一结果封装Json数据
    前面几节学习了SpringBoot和Vue的结合,以及Vue跳转到另一个Vue页面。这节学习SpringBootcontroller返回Json数据格式封装。参考链接:https://zhuanlan.zhihu.com/p/347233348第一步:在entity文件夹下新建一个ResultVo类。 ResultVo.javapackagecom.example.demo.entity;p......
  • 认识soui4js(第5篇):使用扩展控件
    无论内置控件多么丰富,也不可能满足用户所有需求。总有时候用户需要自己扩展控件。soui4js推荐使用C++来扩展控件,然后通过实现一个js模块来提供js使用。扩展控件通常涉及到图形上下文的频繁交互,如果使用js来实现,效率上会大打折扣。使用C++,没了C++和js的相互调用。使用起来就和C++......