zoukankan      html  css  js  c++  java
  • javascript 一些需要知道的东西

    这里我直接贴出代码,注释已经补全,欢迎指正:

      

      <script type="text/javascript">
          /**
          1,js中一切皆是对象,函数也是,
          2,当定义变量不用var修饰的时候,该变量会被默认为全局变量(即window的属性)
          3,js的作用链:js调用一个变量的时候,首先会在作用域链中的第一个对象中查找,如果没有,继续向外查找(最外层作用域链对象为window,所以js中不用"var"修饰的变量都作为window的属性,即为全局变量),直到找到
          */
         
          var rain = 1;  
          function rainman(){  
              var man = 2;  
              function inner(){  
                  var innerVar = 4;  
                  alert(rain);  
              }  
              inner();    //调用inner函数  
          }  
          rainman();    //调用rainman函数    ex:以上代码涉及到的作用域链对象有inner,rainman,window
         
         
          var name=1;
          var func=function(){  
              alert(name);  //输出undefined -作用域:在js中是没有块级作用域的,这里的name基于作用域链,所以在func中查找到了name的定义,但是在alert(name)调用的时候"name"还没有被初始化,所以输出undefined
              var name=2;
              alert(name);  //输出2
          }
          var func1=function(){  //当函数被调用的时候,js引擎会自动创建一个活动的对象,函数中定义的变量和子函数,都会成为该活动对象(函数对象)的同名属性
              var funcObj=this;
              funcObj.myName=function(){
                  console.log(funcObj);
              }
          }
          //对于func1的调用
          var initFn=function(){
              var f=new func1();
              f.myName();
          }
      
          alert(typeof eve); //输出undefined
          alert(typeof walle); //输出"function"
          function eve(){}  //函数表达式,由js引擎预编译
          var walle=function(){} //函数定义式,运行中执行
          initFn();
          
      </script>
  • 相关阅读:
    MySQL-简述
    APP测试-Solo Pi工具-性能测试
    APP测试-弱网测试
    iOS 认识runtime 中的三个指针 isa , IMP , SEL
    iOS 什么是函数式编程
    iOS 根据农历日期 获取当前的农历年份 即 干支纪年法算农历年
    iOS 当公司有人向你提问,你该如何应对?
    Mac 环境 下使用Charles 抓包Http/Https请求
    iOS iPhone X 适配启动图片
    iOS11 仿大标题 导航栏
  • 原文地址:https://www.cnblogs.com/Brose/p/js.html
Copyright © 2011-2022 走看看