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>
  • 相关阅读:
    bootstrap组件的案例代码
    bootstrap样式代码案例
    bootstrap组件
    bootstrap样式
    响应式布局
    使用java将字符串写入到指定的文件中
    使用java读取文件并输出
    使用java解析XML文件的步骤
    数据访问层
    Python:进程
  • 原文地址:https://www.cnblogs.com/lyh233/p/12851989.html
Copyright © 2011-2022 走看看