当前位置: 首页 > news >正文

网站成本费用/网盘资源大全

网站成本费用,网盘资源大全,做网站怎样盈利,php做网站切换语言严格模式是一种将更好的错误检查引入代码中的方法。 在使用严格模式时,您无法使用隐式声明的变量、将值赋给只读属性或将属性添加到不可扩展的对象。 〉声明严格模式 可以通过在文件、程序或函数的开头添加 "use strict"; 来声明严格模式。 此类声明称作…

严格模式是一种将更好的错误检查引入代码中的方法。 在使用严格模式时,您无法使用隐式声明的变量、将值赋给只读属性或将属性添加到不可扩展的对象。 

〉声明严格模式

 

可以通过在文件、程序或函数的开头添加 "use strict"; 来声明严格模式。 此类声明称作“指令序言”。 严格模式声明的范围取决于其上下文。 如果在全局上下文(函数的范围之外)中声明严格模式,则程序中的所有代码都处于严格模式。 如果在函数中声明严格模式,则函数中的所有代码都处于严格模式。 例如,在下面的示例中,所有代码都处于严格模式,并且函数外部的变量声明会导致出现语法错误:“严格模式下未定义变量”。

"use strict";
function testFunction(){var testvar = 4;return testvar;
}// This causes a syntax error.
testvar = 5;

在下面的示例中,仅 testFunction 中的代码处于严格模式。 函数外部的变量声明不会导致语法错误,但函数内部的声明会导致语法错误。

function testFunction(){"use strict";// This causes a syntax error.testvar = 4;return testvar;
}
testvar = 5;

〉代码在严格模式下受到的限制

语言元素

限制

错误

示例

变量

使用变量,但不未声明它。

SCRIPT5042:严格模式下未定义变量

JavaScripttestvar = 4;

只读属性

写入到只读属性。

SCRIPT5045:严格模式下不允许分配到只读属性

var testObj = Object.defineProperties({}, {prop1: {value: 10,writable: false // by default
    },prop2: {get: function () {}}
});
testObj.prop1 = 20; 
testObj.prop2 = 30;

不可扩展的属性

将属性添加到其extensible 属性设置为 false 的对象。

SCRIPT5046:无法为不可扩展的对象创建属性

var testObj = new Object();Object.preventExtensions(testObj);testObj.name = "Bob";

delete

删除变量、函数或参数。

删除其configurable 特性设置为 false的属性。

SCRIPT1045:严格模式下不允许对 <表达式> 调用 Delete

var testvar = 15;
function testFunc() {};
delete testvar;
delete testFunc;Object.defineProperty(testObj, "testvar", {value: 10,configurable: false});
delete testObj.testvar;

重复属性

在一个对象文本中多次定义某个属性。

SCRIPT1046:严格模式下不允许一个属性有多个定义

var testObj = {prop1: 10,prop2: 15,prop1: 20
};

重复参数名

在一个函数中多次使用某个参数名。

SCRIPT1038:严格模式下不允许正式参数名称重复

function testFunc(param1, param1) {return 1;
};

未来保留关键字

将未来保留关键字用作变量或函数名。

SCRIPT1050:无法使用标识符的未来保留字。 严格模式下将保留标识符名称。

  • implements

  • interface

  • let

  • package

  • private

  • protected

  • public

  • static

  • yield

八进制数

对数值文本分配八进制值,或尝试对八进制值使用转义。

SCRIPT1039:严格模式下不允许使用八进制数字参数和转义字符

var testoctal = 010;
var testescape = \010;

this

当 this 的值为null 或undefined 时,该值不会转换为全局对象。

 
function testFunc() {return this;
}
var testvar = testFunc();

在非严格模式下,testvar 的值为全局对象,但在严格模式下,该值为 undefined

作为标识符的eval

字符串“eval”不能用作标识符(变量或函数名、参数名等)。

 
var eval = 10;

语句或块中声明的函数

无法在语句或块中声明函数。

SCRIPT1047:在严格模式下,函数声明无法嵌套在语句或块中。它们只能显示在顶级或直接显示在函数体中。

var arr = [1, 2, 3, 4, 5];
var index = null;
for (index in arr) {function myFunc() {};
}

eval 函数内声明的变量

如果在 eval 函数内声明变量,则不能在此函数外部使用该变量。

SCRIPT1041:严格模式下“eval”的用法无效

eval("var testvar = 10");
testvar = 15;
虽然允许间接计算,但您仍无法使用在 eval 函数外部声明的变量。
var indirectEval = eval;
indirectEval("var testvar = 10;");
document.write(testVar);

此代码会导致错误 SCRIPT5009:“testVar”未定义。

作为标识符的Arguments

字符串“arguments”不能用作标识符(变量或函数名、参数名等)。

SCRIPT1042:严格模式下“arguments”的用法无效

var arguments = 10;

函数内的arguments

不能更改本地arguments 对象的成员的值。

 
function testArgs(oneArg) {arguments[0] = 20;
}

在非严格模式下,可以通过更改 arguments[0] 的值来更改oneArg 参数的值,从而使 oneArg 和 arguments[0] 的值都为 20。 在严格模式下,更改 arguments[0] 的值不会影响oneArg 的值,因为 arguments 对象只是一个本地副本。

arguments.callee

不允许。

 
function (testInt) {if (testInt-- == 0)return;arguments.callee(testInt--);
}

with

不允许。

SCRIPT1037:严格模式下不允许使用“with”语句

with (Math){x = cos(3);y = tan(7);
}

http://msdn.microsoft.com/zh-cn/library/windows/apps/br230269.aspx

转载于:https://www.cnblogs.com/grj1046/p/3200573.html

http://www.lbrq.cn/news/1601767.html

相关文章:

  • 打电话推销好还是做网站推广好/seo在线培训机构
  • 自己有域名怎么做免费网站/软文写作的十大技巧
  • 网站建设需要服务器吗/百度网页版登录入口官网
  • 烟台莱山城市建设网站/广东深圳龙华区
  • 全国最好网站建设/适合30岁女人的培训班
  • win7dw做asp购物网站/seo推广代理
  • 广告发布需要许可证吗/深圳快速seo排名优化
  • 专业网站建设网站研发深圳公司/怎么样优化网站seo
  • 怎么用织梦来做网站后台/2020年关键词排名
  • 做国外百科知识网站/网站注册免费
  • 工商注册官方网站/考试培训
  • 怎么做网站销售/创建网站的基本流程
  • 天地心公司做网站怎样/百度一下百度官方网
  • java做网站微信公众选件/广告软文营销平台
  • 网站一般有哪些模块/网球新闻最新消息
  • 快速做网站详情页/广东省疫情最新
  • 教育网站建设策划书/网站提交入口百度
  • wordpress是mvc吗/视频优化软件
  • 怎样学做企业网站/广点通推广登录入口
  • 网站通栏设计素材/农村电商平台有哪些
  • 网站建设ftp上传是空目录/建立个人网站
  • 国内企业网站模板/百度首页网址是多少
  • 深圳网站开发是什么/公司建立网站的步骤
  • 好学校平台网站模板/广东seo点击排名软件哪里好
  • 外国做的中国动画视频网站/外贸平台推广
  • 贵阳网站制作贵阳网站建设哪家好/安徽百度关键词优化
  • 宁波网站搭建定制非模板网站建设/石家庄网络推广优化
  • 塑胶原料 东莞网站建设/网站推广基本方法是
  • 织梦装修网站模板/娄底地seo
  • title 门户网站建设招标书/推广普通话心得体会
  • MySQL 基本操作入门指南
  • Spring Boot + ShardingSphere 分库分表实战
  • Linux网络编程 --- 多路转接select
  • SQL注入SQLi-LABS 靶场less31-38详细通关攻略
  • C语言数据结构(7)贪吃蛇项目2.贪吃蛇项目实现
  • python匿名函数lambda