ecmascript-5相关内容

为什么019不是一个JavaScript语法错误?或者为什么是019&>020

如果我在JavaScript控制台(在Chrome和Firefox中都进行了测试)中键入019 > 020,则会得到答案true。 这是因为020被解释为OctalIntegerLiteral(等于16),而019显然被解释为DecimalLiteral(并且等于19)。由于19大于16,019 > 020为true。 令我困惑的是,为什么019首先被解释为DecimalLiteral。是 ..
发布时间:2022-07-20 11:51:16 前端开发

检测默认事件处理

是否可以检测到特定DOM事件是否绑定了任何事件处理程序(包括浏览器默认事件处理)-在Firefox的Gresemonkey代码中(EcmaScript 5.1 strict mode)? 到目前为止,我成功地在选定文本时取消了单击事件处理,但我想在以下所有情况下取消事件处理单击事件触发默认操作: 选择页面上的文本 显示上下文菜单(即单击鼠标右键) 后面有一个链接(左键单击) ..

Array.Prototype对象的长度属性-ES 5

在function类型对象中,length属性表示function类型对象预期的参数数量。例如,在下面的可视化中,Function对象、Array对象中的length字段具有值1。 在上面的可视化中,length字段也是object类型ObjectArray.prototype的成员,值为0。 MDN表示: Array.prototype.length反映数组中的元素数量。 ..
发布时间:2022-03-14 18:46:20 前端开发

Javascript 中 with 语句的未来

我知道 with 语句的用法 在 Javascript 中不推荐 并且在 ECMAScript 5 中被禁止,但它允许人们在 Javascript 中创建一些不错的 DSL. 例如 CoffeeKup - 模板引擎和 Zappa 网络 DSL.那些使用一些 非常 weird 使用 with 语句的作用域方法来实现 DSLish对他们的感觉. with 语句和这些类型的 DSL 有没有未 ..
发布时间:2022-01-24 10:54:30 前端开发

在javascript中使用按位或转换为整数

我们可以做以下转换: var a = "129.13"|0,//变为 129变量 b = 11.12|0;//变成 11变量 c = "112"|0;//变成 112 这似乎可行,但不确定这是否是标准的 JS 功能.有谁知道这是否可以安全地用于将字符串和小数转换为整数? 解决方案 是的,这是标准行为.位运算符仅对整数进行运算,因此它们将给出的任何数字转换为有符号的 32 位整数. ..
发布时间:2022-01-14 14:49:20 前端开发

为什么 JavaScript 中的对象不可迭代?

为什么对象默认不可迭代? 我经常看到与迭代对象相关的问题,常见的解决方案是迭代对象的属性并以这种方式访问​​对象中的值.这似乎很常见,以至于我想知道为什么对象本身不可迭代. 类似 ES6 的语句 for...of 默认情况下很适合用于对象.因为这些功能仅适用于不包含 {} 对象的特殊“可迭代对象",所以我们必须通过一些复杂的步骤才能使这项功能适用于我们想要使用它的对象. for. ..
发布时间:2022-01-10 14:12:37 前端开发

在 ECMAScript5 中,“use strict"的范围是什么?

严格模式 pragma 在 ECMAScript5 中的作用域是什么? "使用严格"; 我想这样做(主要是因为 JSLint 不会抱怨它): "使用严格";(功能 () {//我的东西在这里...}()); 但我不确定这是否会破坏其他代码.我知道我可以做到这一点,这会将编译指示范围限定为函数... (函数(){“严格使用";//我的东西在这里...}()); 但是 JSLint 抱怨它 ..
发布时间:2022-01-04 11:36:47 前端开发

为什么 catch 子句有自己的词法环境?

考虑以下摘录 来自 ECMA-262 v5.1(我最近看到在这个问题中: 词法环境是一种规范类型,用于根据 ECMAScript 代码的词法嵌套结构定义标识符与特定变量和函数的关联.词法环境由环境记录和对外部词法环境的可能为空的引用组成.通常,词法环境与 ECMAScript 代码的某些特定句法结构相关联,例如 FunctionDeclaration、WithStatement 或 TryS ..
发布时间:2022-01-04 11:22:17 前端开发

JS Promises/A+ 的“catch"方法名称是否无效,因为它是一个 JS 关键字?

我最近开始在一个项目中使用 JS Promises.我注意到每次使用 .catch 我的 JS linter 都会抱怨.它确实运行并做了它应该做的事,但我查找了 ECMAScript 规范 和看起来确实是正确的:由于 catch 是关键字,不能用作标识符.据我所知,方法名称是标识符,所以这是无效的: Promise.reject("Duh").catch(alert); 应该是这样的: Pr ..
发布时间:2021-12-29 10:24:45 前端开发

具有多个属性的 Object.create() 的简写

如果我想在 JavaScript 中创建一个对象,该对象具有指向另一个对象的原型链接,但有几个它自己的属性,我该怎么做? var object1 = {一:1,乙:2};var object2 = Object.create(object1);object2.c = 3;object2.d = 4;控制台日志(对象2);//我的新对象以 object1 作为原型链接 我的挑战是我必须一次设 ..
发布时间:2021-12-23 11:59:09 前端开发

ECMAScript 2015 (ES6) 中的“let"和“const"有什么区别?

我想知道 ES6 中的 let 和 const 之间有什么区别.它们都是块作用域,如以下代码中的示例: const PI = 3.14;控制台日志(PI);PI = 3;控制台日志(PI);常量 PI = 4;控制台日志(PI);无功 PI = 5;控制台日志(PI); 在 ES5 中,输出将是: 3.143.143.143.14 但是在 ES6 中它会是: 3.14345 我想知道为 ..
发布时间:2021-12-23 11:37:06 前端开发