1、函数之前加了new会变成对象,this的引用发生变化。
function show() { alert(this); } window.onload=function(){ var btn1=document.getElementById(‘btn1‘); btn1.onclick=show; } show(); //window new show(); //新创建的对象
2.原型继承
prototype
这个有的说,之前粗略的看了JavaScript设计模式的时候就说了继承的两种方式。
上一个实例
Array.prototype.a=12; var arr=[1,2,3]; alert(arr.a); //12 arr.a=5; alert(arr.a); //5 delete arr.a; alert(arr.a); //12
上例还反应了优先级。
3、我重点说说我对JS中的大坑(this)的理解
在函数中this指向window,后来在查阅资料中知道严格模式下是undefined
在把函数变成对象的时候指向该对象
在对象中指向该对象
在对象中嵌套的情况下就不一样了。可以用一个变量保存上层函数的this。
还有对this的优化bind,我刚学不知道
这里mark了一篇博客http://blog.jobbole.com/39305/
时间: 2024-12-05 06:42:42