with
可以形成自己的作用域
eval函数
eval是一个特殊的函数,它可以将传入的字符串当作JavaScript代码来运行
var jsString = 'var message = "Hello World";console.log(message);'
eval(jsString)
严格模式
开启严格模式
那么如何开启严格模式呢?严格模式支持粒度话的迁移
- 可以支持再js文件中开启严格模式
- 也支持对某一个函数开启严格模式
严格模式限制
- 意外创建全局变量
- 不允许函数有相同的参数名称
- 静默错误
- 不允许使用原先的八进制格式
- with语句不允许使用
- eval函数不会向上引用变量
- 自执行函数(默认绑定)会指向undefined
- setTimeout的this
面向对象
面向对象是现实的抽象方式
JavaScript的面向对象
对对象属性的操作
存取属性描述符
- 隐藏某一个私有属性不希望直接被外界使用和赋值
- 如果我们希望截取某一个它访问和设置值的过程时,也会使用存储属性描述符