• 5、js——this说明


           <script type="text/javascript">
            
                /*
                 * 解析器在调用函数每次都会向函数内部传递进一个隐含的参数,
                 *     这个隐含的参数就是this,this指向的是一个对象,
                 *     这个对象我们称为函数执行的上下文对象
                 *     
                 *  根据函数的调用方式的不同,this会指向不同的对象
                 *         1.以函数的形式调用时,this永远都是window
                 *         2.以方法的形式调用时,this就是调用方法的那个对象
                 */
                
                
                function fun(){
                    console.log(this);//[object Window]
                }
                 
                fun();
                
                //-----------------------------------------------------------------------------------
                
                function fun2(){
                    console.log(this);
                    console.log(this.name);//孙悟空
                }
                
                
                //创建一个对象  
                var obj = {
                    name:"孙悟空",
                    sayName:fun2
                };
                
                console.log(obj.sayName == fun2);//true
                
                //调用的是同一个函数,结果却不同,根据函数的调用方式的不同,this会指向不同的对象
                obj.sayName(); //[object Object] 
                
                fun2();//[object Window]
                
            </script>

    举例补充:

            <script type="text/javascript">
                
                //创建一个name变量
                var name = "全局";
                
                //创建一个fun()函数
                function fun(){
                    console.log(this.name);
                }
                
                //创建两个对象
                var obj = {
                        name:"孙悟空",
                        sayName:fun
                };
                
                var obj2 = { 
                        name:"沙和尚",
                        sayName:fun
                };
                
                //--------------------------------------------------------------------------------------
                //我们希望调用obj.sayName()时可以输出obj的名字
                
                obj.sayName();//孙悟空
                
                obj2.sayName();//沙和尚
                
            
                
            </script>
  • 相关阅读:
    差分约束
    POJ 2449 Remmarguts' Date[k短路]
    K短路
    hdu4034 Graph(floyd)
    hdu2089不要62(数位dp)
    POJ3468 A Simple Problem with Integers ( 线段树)
    POJ3255:Roadblocks(次短路 SPFA+A星)
    usaco2.1Ordered Fractions( 枚举, 数学)
    hdu1565方格取数(1) (状态压缩dp)
    poj3259 Wormholes(spfa)
  • 原文地址:https://www.cnblogs.com/lyh233/p/12851989.html
Copyright © 2020-2023  润新知