作用域

JS中一共2种作用域

  1. 全局作用域 直接写在script标签中的JS代码为全局作用域,打开页面创建,关闭页面销毁,全局作用域中有一个对象window,创建的对象都是window的对象属性
  2. 函数作用域(局部作用域)调用函数时创建,调用完毕后销毁

在函数领域如果想访问全局,可以直接使用window.属性值

函数中不用VAR声明的变量都会成为全局变量

函数领域中var声明的变量,也会在所有代码执行之前被声明,但不会被赋值,下面例子中var a在ff函数运行前被声明,但是a=2不会被提前赋值,所以运行后a为 undefined.如果删掉VAR A则会因为没有提前声明报错.

function ff(){

              console.log(a)

              var a =2

         }

         ff()

 

This

解析器每次调用函数都会向函数内部传递一个隐含参数this,this指的是一个对象,根据函数调用方式不同,this会指向不同的对象

  1. 以函数调用this永远是window
  2. 以方法调用this就是调用方法的对象

 

     var name = "全局123"

         function ff(){

              console.log(this.name) //改成this会根据调用对象不同输出不同的函数属性值

         }

         var obj ={

              name:"swk",

              age: ff

         }

         var obj1={

              name:"shs",

              age:ff

         }

         obj1.age()

   //obj.age()会输出swk

转载于:https://www.cnblogs.com/Young-shi/p/10438960.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值