eval()表达式
只有一个参数.如果传入的参数不是字符串,怎么返回值是它本身.如果传入的是字符串,怎么返回的是字符串最后一个表达式的计算值.最重要的是eval()表达式和函数调用一样.会有一个作用域链.先从第一对象开始寻找.
全局eval()
当通过var geval = eval;别名调用时,这是调用全局eval.改变的是全局变量.
直接调用时,是作用域内的.
typeof运算符
返回值是操作数类型的一个字符串.
delete运算符
一元操作符,用来删除对象属性或者数组元素.操作数必须是左值(在表达式中被赋值的).如果不是左值,将直接返回true.用var声明的变量是不能被删除的,同时用function定义的函数和函数参数也不能被删除.
void运算符
一元操作符,操作数会照常计算,但是忽略计算结果,返回undifined
逗号运算符
二元运算符,会计算左边的表达式,但是会忽略掉,返回又边表达式的结果.
for/in循环
使用语法for(var 变量名 in 对象)
这个语法是用来循环对象的可枚举属性名.什么是可枚举?代码中定义的所有属性和函数都是枚举的.内置对象的属性是不可枚举的.
标签语句
indentifer:statement
可以使用break和continue来使用标签语句.break表示会跳到这个标签的结束位置.continue只能用在循环语句中表示进入下一次循环.
with语句
with(object)
statement
用于临时扩展作用域链.将object放入作用域链头部,并执行statement,之后恢复作用域链.
使用场景:就是说当代码嵌套很深的时候,需要访问某个对象就需要多次的…
所以可将对象直接放入头部.这样做的好处就是减少了代码量.
debugger语句
使用debugger语句会在使用的地方产生一个断点,代码执行到此处时,会停下,以调试.
原型
每一个对象都对应一个原型(其实可以理解为父类对象),直接量创建的对象,他的原型即Object.propertype,通过new关键字和构造函数创建的对象,原型就是构造函数的propertype的值.
序列化对象
对象序列化是指将对象的状态转换成字符串的形式(这个字符串即JSON),也可以将字符串的形式转换成对象.提供了两个方法,即JSON.stringify()和JSON.parse()来完成这两个对应的转换.
valueOf()
即将对象转换成某种元素的数值时使用.