JavaScript权威指南(第6版) 8.8分
读书笔记 4.12.2 全局eval()
晓慧读书

eval()具有更改局部变量的能力

直接调用eval时,它总是在调用它的上下文作用域内执行,其他间接调用则使用全局对象作为其上下文作用域

在严格模式下,eval执行的代码段可以查询或更改局部变量,但不能在局部作用域中定义新的变量或函数

typeof返回值为表示操作数类型的一个字符串 1.undefined的类型是undefined 2.null的类型是object 3.函数的类型是function 4.任意内置对象(非函数)的类型是object 5.任意宿主对象:由编译器各自实现的字符串

在js中,函数和可执行对象是有微妙区别的,所有可执行对象,包括内置对象和宿主对象,所有可执行对象进行typeof运算都将返回function

delete是一元操作符,它用来删除对象属性或者数组元素,删除对象属性或数组元素不仅仅设置一个undefined值,可以通过in运算符来检测这个属性是否在对象中存在

delete希望它的操作数是一个左值,如果不是左值,那delete就不进行任何操作同时返回true,然而并不是所有属性都可以删除,一些内置核心和客户端属性是不可以删除的,用户用var申明的变量,通过function语句定义的函数和函数参数也不能删除

在严格模式下,delete删除不可配置的属性时会抛出一个类型错误异常,在非严格模式下,会返回一个false

0
《JavaScript权威指南(第6版)》的全部笔记 133篇
豆瓣
免费下载 iOS / Android 版客户端