zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    机器学习第二章复习
    机器学习第三章复习
    机器学习第四章复习
    第一次作业
    第二次作业
    第06组 Beta版本演示
    第06组 Beta冲刺(4/4)
    第06组 Beta冲刺(3/4)
    第06组 Beta冲刺(2/4)
    第06组 Beta冲刺(1/4)
  • 原文地址:https://www.cnblogs.com/lyh233/p/12851989.html
Copyright © 2011-2022 走看看