博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js严格模式总结
阅读量:4477 次
发布时间:2019-06-08

本文共 608 字,大约阅读时间需要 2 分钟。

首先,我们要理解严格模式的概念,严格模式是一种特殊的执行模式,它修复了部分语言上的不足,提供更强的错误检查,病增强安全性。可以对部分函数进行执行严格模式,如:

function func(){

'use strict'

}

也可以对整个js文件进行执行严格模式,如:

'use strict'

function func(){

}

那么我们在以下情况不能使用:

1、不允许用width

 

2、不允许未声明的变量被赋值

 

3、arguments变为参数的静态副本

4、delete参数、函数名报错

 

5、delete不可配置的属性报错

 

6、对象字面量重复属性名报错

7、禁止八进制字面量

8、eval,arguments变为关键字,不能作为变量、函数名

9、eval独立作用域

一般函数调用时(不是对象的方法调用,也不使用apply/call/bind等修改this)this指向null,而不是全局对象。

若使用apply/call,当传入null或undefined时,this将指向null或undefined,而不是全局对象。

试图修改不可写属性(writable=false),在不可扩展的对象上添加属性时报TypeError,而不是忽略。

arguments.caller,arguments.callee被禁用

 

转载于:https://www.cnblogs.com/chayan/p/5793964.html

你可能感兴趣的文章
java 8 string_String.join() --Java8中String类新增方法
查看>>
java 布局教程_java布局学习(新)
查看>>
你真的会写Java吗?
查看>>
alibaba.fastjson.JSONObject 解析
查看>>
终于有人把Elasticsearch原理讲透了
查看>>
Java使用POI 读取和写入Excel指南
查看>>
shell脚本中各类括号的作用(小结)
查看>>
借用Snippet插件美化博客中的代码
查看>>
深入研究java.lang.Runtime类
查看>>
10677 我们仍未知道那天所看见的花的名字
查看>>
ScanTailor-ScanTailor 自动矫正图像歪斜
查看>>
UVA GCD - Extreme (II)
查看>>
完成个人中心—导航标签
查看>>
【C++】C++中变量的声明与定义的区别
查看>>
前端性能优化
查看>>
static
查看>>
属性动画
查看>>
Swift 字符串
查看>>
Python 生成器 Generator 和迭代器 Iterator
查看>>
实现icon和文字垂直居中的两种方法-(vertical-align and line-height)
查看>>