JavaScript高级程序设计

196 阅读1分钟

基本数据类型共6种:undefined,null,number,string,boolean,symbol.

null值为空对象指针。console.log(typeOf(null)) //输出object

要将其他的值转化为布尔值,可以调用boolean()转型函数

有三个函数可以将非数值转化为数值:Number() parseInt() parseFloat() // parseInt parseFloat 转换字符串为数值

object类型 constructor:用于创建当前对象的函数。 hasOwnProperty(propertyName):用于判断当前对象实例上是否存在给定的属性。

模版字面量标签函数

function simpleTag(strings,...expressions){ console.log(strings) for(const expressions of expressions){ console.log(expressions) } return 'foobar' } let taggedResult = simpleTag${a} +${b} = ${a + b}; //6 //9 //15 console.log(taggedResult); //"foobar"

String.raw 函数可以直接获得原始的模版字面量

一元操作符 let age = 29 let anotherAge = --age+2 console.log(age) // 28 console.log(anotherAge) // 30 无论是前缀递增还是前缀递减 变量的值都会在语句被求值之前改变。 后缀语法和前缀语法区别在于,后缀版递增递减值语句被求值后发生。

var let const

var声明提升 声明提升就是把所有的变量声明拉到函数顶部 function foo(){ console.log(age) var age = 26 } foo()//26

let 块级作用域 存在暂时性死区

const 块级作用域 存在暂时性死区。定义后无法更改

建议风格 不使用var,const优先,let次之

do-while语句 do{ statement } while (expression)

for-in 语句 for(property in expression) statement 枚举对象中的所有属性

for-of语句 for(property of expression) statement 用于遍历可迭代对象的元素