欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

javascript在严格模式下的执行结果分享

程序员文章站 2023-02-17 14:08:49
给未经声明的变量赋值在严格模式下会导致抛出 referenceerror 错误。 第 5 版把在非严格模式下运行时的保留字缩减为下列这些: class enum extends...

给未经声明的变量赋值在严格模式下会导致抛出 referenceerror 错误。

第 5 版把在非严格模式下运行时的保留字缩减为下列这些:

class enum extends super

const export import

ecmascript 5 引入了严格模式(strict mode)的概念。严格模式是为 javascript 定义了一种不同的

解析与执行模型。在严格模式下,ecmascript 3 中的一些不确定的行为将得到处理,而且对某些不安全

的操作也会抛出错误

var octalnum1 = 070; // 八进制的 56

var octalnum2 = 079; // 无效的八进制数值——解析为 79

var octalnum3 = 08; // 无效的八进制数值——解析为 8

八进制字面量在严格模式下是无效的,会导致支持的 javascript 引擎抛出错误。

即在 ecmascript 中,

对象可以通过执行 new 操作符后跟要创建

的对象类型的名称来创建。而创建 object 类型的实例并为其添加属性和(或)方法,就可以创建自定

义对象,如下所示:

var o = new object();

这个语法与 java 中创建对象的语法相似;但在 ecmascript 中,如果不给构造函数传递参数,则可

以省略后面的那一对圆括号

(就像 java 中的 java.lang.object 对象一样)object 类型是所有它的实例的基础。换句话说,

object 类型所具有的任何属性和方法也同样存在于更具体的对象中。

javascript在严格模式下的执行结果分享

object在进行运算时 先调用valueof方法

javascript在严格模式下的执行结果分享

在使用关系操作符比较两个字符串时,会执行一种奇怪的操作。很多人都会认为,在比较字符串值

时,小于的意思是“在字母表中的位置靠前”,而大于则意味着“在字母表中的位置靠后”,但实际上完

全不是那么回事。在比较字符串时,实际比较的是两个字符串中对应位置的每个字符的字符编码值。

javascript在严格模式下的执行结果分享