JavaScript原型设计基础知识
JavaScript prototyping basics
任何人都可以简单地解释为什么JavaScript表达式
123.unexistingProperty;
抛出错误,而
var v = 123;
v.unexistingProperty;
(123).unexistingProperty;
true.unexistingProperty;
"".unexistingProperty;
[].unexistingProperty;
{}.unexistingProperty;
没有?
这是与原型设计有关,还是只是语言的一些基本原理?
附言:这不仅仅是假设,当在动态生成的代码上实现eval()
时,这是一个问题。
这与的原型设计有关吗
不,原因是Javascript不允许您直接访问数字文本上的属性。
例如,这不起作用:
123.unexistingProperty;
但这会起作用:
(123).unexistingProperty;
问题是,一个数字可以写成10.5
的形式,这意味着点不能用于访问属性。出于这个原因,您必须将一个数字括在括号之间才能调用该数字的属性。
示例:
Number.prototype.fun = function () { return "Fun" }
(100).fun()
(10.5).fun()
相关文章:
- JavaScript原型设计基础知识
- D3 力导向布局的基础知识
- Javascript:数组和For循环基础知识
- 下拉菜单基础知识
- 脚本预处理的基础知识
- JavaScript 基础知识
- 了解矩阵的基础知识
- Javascript和HTML学校的基础知识
- JavaScript 基础知识:变量受对不同变量执行的方法的影响
- Polyfill 基础知识:如何为 Uint8Array.fill 实现 polyfill
- 节点.js模块范式的基础知识
- Javascript基础知识:访问嵌套函数
- JavaScript 打字机和基础知识的问题
- Javascript MVC框架的基础知识
- 我需要学习CSS3和HTML的基础知识来制作HTML5游戏和动态web应用程序吗
- SQLike-了解基础知识
- 网页抓取基础知识
- TDD基础知识——我应该添加或替换测试吗?
- 承诺基础知识.如何承诺异步节点代码
- Javascript基础知识:根据检索值更改操作符值