function Class1() {} Class1.prototype.getName = function() { alert('Class1') }; Class1.prototype.getName();运行结果的确弹出了对话框,这里 prototype 指向了什么对象?
解决方案 »
- jquery ztree 3.5
- 当触发 onclick="show(this.id)"> 后,滚动条怎么搞都会跑到最上面,如何保持滚动条?
- jquery table里的滑动效果问题
- js 禁止鼠标滑轮滚动的事件是什么?
- 请教
- 请问如何实现鼠标右键点击不同区域,弹出不同的菜单?
- 如何用js实现静态进度条?
- 从XML文档中读取数据在HTML中显示!come in look look!
- 关于showModalDialog返回值得类型问题。。。请讨论~~~
- cancelBubble是什么意思?
- Ajax二级联动带数据库
- 调用"Ext.form.FormPanel"对象的“form”返回的是什么类型的对象啊
function Class1() {} Class1.prototype.getName = function() { alert('Class1') }; Class1.prototype.getName();
JS里 方法也是属性 如果我给化简下这样 你应该可以懂var getName = function(){ alert('Class1')};
getName();
// 跟上面的含义上时等价的.这里的getName是绑定在全局window上的 相当于window.getName
// 而你上面的getName是绑定在Class1的原型上的.而原型本身就是个对象
不需要实例就可以调用准确点说,是js里一切都是对象,包括你的class1,你给这个对象创建了一个方法(相当于静态的),然后直接调用
<script type="text/javascript">
<!--
function Class1(){}var obj = new Object();alert(Class1.prototype instanceof Object);//看下关系
obj.getName = function(){ alert('Class1') };
obj.getName();
//-->
</script>
和前面的例子 仅 从最后调用 getName 方法来说,有什么不同?
function Class1() {} Class1.getName = function() { alert('Class1') }; Class1.getName(); var cs2=new Class1();
cs2.getName(); //undefine
function Class1() {} Class1.prototype.getName = function() { alert('Class1') }; Class1.prototype.getName(); var cs2=new Class1();
cs2.getName(); //class1