JS类定义原型方法的两种实现的区别
来源:互联网 发布:金10数据手机软件 编辑:程序博客网 时间:2024/06/11 03:09
常见的2中原型方法如下:
<script> function JSClass() { alert('This is JSClass');} function JSClass.prototype.MethodA() { alert('This is MethodA');};JSClass.prototype.MethodB = function() { alert('This is MethodB'); };</script>
但是也有区别的,主要是编译器给的编译优先级不同,一个是高优先级别的函数,一个是低优先级别的赋值语句
可以运行下面的2段代码就明白了:
代码一:
<script> Foo1(); function Foo1() { alert('This is Foo1.'); } Foo2(); var Foo2 = function() { alert('This is Foo2.'); } // Foo2();</script>
代码二:
function NormalClass() { this.m_Property1 = 'P1 in Normal Class.'; this.m_Property2 = 'P2 in Normal Class.'; this.toString = function() { return '[class NormalClass]'; } return new InnerClass(); function InnerClass() { this.m_Property1 = 'P1 in Inner Class.'; this.m_Property2 = 'P2 in Inner Class.'; this.toString = function() { return '[class InnerClass]'; } } InnerClass.prototype.Method1 = function() { alert(this.m_Property1); }; function InnerClass.prototype.Method2() { alert(this.m_Property2); }; // return new InnerClass(); }var nc = new NormalClass(); nc.Method1() //没有定义; nc.Method2();//InnerClass.prototype.Method1 = function()依赖于赋值语句的执行,而 function InnerClass.prototype.Method2() 以最高优先级被脚本引擎初始化
参考: JS类定义原型方法的两种实现的区别
- JS类定义原型方法的两种实现的区别
- JS类定义原型方法的两种实现的区别
- js定义对象的两种方法以及js用call来实现类的继承
- JS两种定义方式的区别
- String 两种定义方法的区别
- String定义的两种方法的区别
- java中的string定义的两种方法和区别
- 原型链(一):辨别原型链的两种方法
- 重定义键盘的两种实现方法
- C#定义系统常量的两种实现方法对比
- js 创建对象的两种主要方法 构造函数 和 原型+构造函数组合
- js中截取字符串的两种方法的区别
- js中方法定义的区别
- js 对象方法、类方法、原型方法的区别;私有属性、公有属性、公有静态属性
- Javascript 两种 function 定义的区别
- js 对象方法、类方法、原型方法的区别;私有属性、公有属性、公有静态属性的区别
- JS中的phototype JS的三种方法(类方法、对象方法、原型方法)
- 原型链的两种继承方式及区别
- error LNK2019
- 分析android动画模块
- AIX查看版本
- maven 配置篇 之 settings.xml
- ARM指令优化-Coding for NEON - Part 3: Matrix Multiplication
- JS类定义原型方法的两种实现的区别
- Linux 下串口编程入门
- 深入浅出设计模式笔记之十七:策略模式
- Qt学习之路_5(Qt TCP的初步使用)
- 全球mms-rtsp地址合集
- Resource entry introduction2 is already defined.
- 升级最快双核 小米1S手机开箱多图赏析
- _bstr_t cstring转换
- STC PCR