严格模式
开启严格模式:‘use strict’
如下代码块显示:
'use strict'
a = 1
console.log(a); //在不开启严格模式的情况下,这种的变量是可以访问的,但是在严格模式下这种就会报错
严格模式是一个以极为标准的代码编写规范的模式,开启严格模式后,很多正常情况下可以访问的变量,都会变得不能访问,上面就是一个很经典的例子,在普通模式下,a是可以访问并且打印出来的,但是开启了严格模式,就必须按照严格模式的规范来,变量一般都是先定义,后赋值,它可以判断到你没有定义a变量,就直接给我们报错了
JS有哪几种数据类型
JS的数据类型分为两类:原始数据类型和对象数据类型
原始数据类型
数字(Number)
字符串 (String)
布尔值 (Boolean)
空 (Null)
未定义 (Undefined )
对象数据类型
除了5种原始数据类型之外的都是对象(Object)
如何判断数据类型
使用typeof操作符检测数据类型
如下代码块显示:
let a = 111
console.log(typeof a); //number类型
let b = 'shanks'
console.log(typeof b); //string类型
let c = true
console.log(typeof c); //boolean类型
let d = undefined
console.log(typeof d); //undedined类型
let e = null
console.log(typeof e); //object类型
"undefined"——值未定义;
"boolean"——布尔值;
"string"——字符串;
"number"——数字;
"object"——对象或者null;
"function"——函数
调用typeof null会返回"object",因为特殊值null被认为是一个空的对象引用
函数在ECMAScript中是对象, 不是一种数据类型。但是因为函数有一些特殊的属性,所以通过typeof操作符来检测函数会返回function 而不是 object