• 作用域


    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

  • 相关阅读:
    2021年-组装ITX台式机电脑
    jetbrain idea误删文件的两种恢复的方法
    Jmeter Macbook上利用命令行ssh tunnel 开启mysql链接
    pipeline buildResult 和 stageResult的区别
    Jenkins Pipeline ample 样板
    docker删除镜像
    C++内存分区
    auto | auto& | auto&&
    一种简易的音频信号延迟测量方案
    自制一个简易的任意音频信号发生器
  • 原文地址:https://www.cnblogs.com/Young-shi/p/10438960.html
Copyright © 2020-2023  润新知