zoukankan      html  css  js  c++  java
  • js基础细节

    js细节
    
    1.所有的全局变量都是window的属性.
    语句 var a=1;
    等价于 window.a=1;
    用 "变量名称" in window 来验证全局变量是否声明.
    
    
    2.所有的变量声明都在范围作用域的顶部.
    
    alert("a" in window);
    var a;
    
    尽管a的声明在 alert 之后,alert弹出的依然是true;
    这是因为javascript引擎首先会扫描所有的全局变量声明,
    然后将这些变量声明移动到顶部,最终的代码效果是这样的:
    var a;
    alert("a" in window);
    
    3.函数声明 和 变量声明 在进入执行上下文就完成了.
    
    变量声明:
    var a;
    
    函数声明:
    function functionName(arg1,arg2){
        //函数体
    }
    
    变量赋值:
    var a;--变量声明
    a=1;--变量赋值
    
    函数表达式:(匿名函数赋值给变量)======>函数表达式 相当于 变量赋值
    var functionName=function(arg1,arg2){
        //函数体
    }
    拆解:
    var functionName;
    functionName=function(arg1,arg2){
        //函数体
    }
    
    
    优先级:函数声明 会覆盖 变量声明,但不会覆盖 变量赋值
    
    
    4.this 变量:永远指向函数运行时所在的对象,
    而不是函数被创建时所在的对象。
    如果处在匿名函数中、或者不处于任何对象中,
    this 都指向宿主的根对象(在浏览器里面就是 window)
    
    javascript中还用 call() 和 apply() 来调用函数,
    再记住下面这两句话:
    如果是call()、apply()、with(),指定的this是谁,就是谁 !
    普通的函数调用,函数被谁调用,this就是谁。
  • 相关阅读:
    <数据结构基础学习>(四)链表 Part 2
    <Android基础> (四) Fragment Part 2
    swagger忽略方法里参数的方法
    ActiveMq
    Tomcat日志归档
    java代理的实现
    包装类型和基础类型是如何比较的
    hashmap
    可达性分析中,可以作为GcRoots的对象
    使用Navicat 连接oracle出现 “ORA-03135: Connection Lost Contact”
  • 原文地址:https://www.cnblogs.com/fumj/p/3534250.html
Copyright © 2011-2022 走看看