Méthodes d'appel de JavaScript : 1. Mode d'appel de méthode, cela pointe vers myobject à ce moment ; 2. Mode d'appel de fonction, cela pointe vers window à ce moment ; .
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur DELL G3.
Méthode pour appeler javascript :
1 : Mode d'appel de méthode
Veuillez noter que cela pointe vers mon objet en ce moment .
/*方法调用模式*/ var myobject={ value:0, inc:function(){ alert(this.value) } } myobject.inc()
2 : Mode d'appel de fonction
Veuillez noter que cela pointe vers window
/*函数调用模式*/ var add=function(a,b){ alert(this)//this被绑顶到window return a+b; } var sum=add(3,4); alert(sum)
3 : Modèle d'appel du constructeur
Le livre Essence of JavaScript Language recommande d'abandonner cette méthode. Parce qu'il existe une meilleure façon. Non présenté ici. Je le publierai la prochaine fois que je bloguerai.
ajoutera un lien ici.
/*构造器调用模式 摒弃*/ var quo=function(string){ this.status=string; } quo.prototype.get_status=function(){ return this.status; } var qq=new quo("aaa"); alert(qq.get_status());
4 : appliquer le mode d'appel
== Nous pouvons examiner une instance d'application plus utile. Regardez le code en bas.
/*apply*/ //注意使用了上面的sum函数 //与myobject //这中调用方式的优点在于可以指向this指向的对象。 //apply的第一个参数就是this指针要指向的对象 var arr=[10,20]; var sum=add.apply(myobject,arr); alert(sum);
Voir l'application réelle de cette application. bind Il s'agit d'une fonction qui lie le temps
var bind=function(object,type,fn){ if(object.attachEvent){//IE浏览器 object.attachEvent("on"+type,(function(){ return function(event){ window.event.cancelBubble=true;//停止时间冒泡 object.attachEvent=[fn.apply(object)];//----这里我要讲的是这里 //在IE里用attachEvent添加一个时间绑定以后。 //this的指向不是到object对象本身所以。我们绑定的function里的this.id是无法正常工作的。 //但是如果我们用fn.apply(object) //这里可以看出我们是把apply的第一个对象也就是this的指向变更给了object所以this.id就变成了 //object.id 可以正常工作了。 } })(object),false); }else if(object.addEventListener){//其他浏览器 object.addEventListener(type,function(event){ event.stopPropagation();//停止时间冒泡 fn.apply(this) }); } } bind(document.getElementById("aaa"),"click",function(){alert(this.id)});
Recommandations d'apprentissage gratuites associées :tutoriel vidéo javascript
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!