JavaScriptメソッドの呼び出し方法

coldplay.xixi
リリース: 2023-01-05 16:09:42
オリジナル
7286 人が閲覧しました

JavaScript を呼び出すためのメソッド: 1. メソッド呼び出しモード、この時点では myobject を指します; 2. 関数呼び出しモード、これはこの時点では window を指します; 3. コンストラクター呼び出しモード; 4. 適用呼び出しモード。

JavaScriptメソッドの呼び出し方法

このチュートリアルの動作環境: Windows 7 システム、JavaScript バージョン 1.8.5、DELL G3 コンピューター。

JavaScript を呼び出すメソッド:

1: メソッド呼び出しモード

現時点では myobject を指していることに注意してください。 。

/*方法调用模式*/
    var myobject={
            value:0,
            inc:function(){
                    alert(this.value)
                }
        }
    myobject.inc()
ログイン後にコピー

2: 関数呼び出しモード

これはウィンドウを指していることに注意してください

/*函数调用模式*/
    
    var add=function(a,b){
        alert(this)//this被绑顶到window
            return a+b;
        }
    var sum=add(3,4);
    alert(sum)
ログイン後にコピー

3: コンストラクター呼び出しパターン

書籍『Essence of JavaScript Language』では、このメソッドを放棄することを推奨しています。もっと良い方法があるからです。ここでは紹介していません。次回のブログ時に載せます。

#ここにリンクが追加されます。

/*构造器调用模式  摒弃*/
    
    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: 適用呼び出しモード

==より便利な適用インスタンスを見てみましょう。下部のコードを見てください。

/*apply*/
    //注意使用了上面的sum函数
    //与myobject
    //这中调用方式的优点在于可以指向this指向的对象。
    //apply的第一个参数就是this指针要指向的对象
    var arr=[10,20];
    var sum=add.apply(myobject,arr);
    alert(sum);
ログイン後にコピー

この適用の実際の適用を参照してください。 binding これは時間をバインドする関数です

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)});
ログイン後にコピー

関連する無料学習の推奨事項: javascript ビデオ チュートリアル# #

以上がJavaScriptメソッドの呼び出し方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート