美文网首页
01-预解释

01-预解释

作者: Young_Blood | 来源:发表于2016-07-27 09:49 被阅读12次
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>预解释</title>
</head>
<body>
    <pre>
        <script type="text/javascript">
            // js中数据类型:
            // 基本数据类型
            // number string boolean null undefined
            //        var num = 12;
            // 引用数据类<a型
            // object :{} [] /^$/ Dale
            // function
            //        var obj = {name:"珠峰培训",age:7};
            //        function fu() {
            //            console.log("勿忘初心方得始终");
            //        }
            // 1.当浏览器加载html的时候 首先会提供一个恭全局JS代码执行的环境 -> 全局作用域(global/window)
            // obj.age = 8 ; 首先通过地址xxxfff000找到对应的空间,然后把空间中的age属性名对应的属性值修改为8
            console.log(fn) // 把正割函数的定义部分(函数本身)在控制台输出
            console.log(fu()) // 把当前函数执行的返回结果(return后面写的是啥,返回值就是啥,如果没有return,默认返回值是undefined)
            // 2.预解释(变量提声)
            // 在当前的作用域当中, JS代码执行之前 浏览器首先会默认的把所有带 var 和 function 的进行提前的声明或者定义
            // 2.1.理解声明和定义
            // var num = 12;
            // 声明 (declare); var num;   -> 告诉浏览器在全局作用域中有一个num的变量了 如果一个变量只是声明了 没有赋值 默认值是undefined
            // 定义 (define);  num = 12 ; -> 给我们的变量进行赋值
            // 对于带var和function关键字的在于解释的时候操作还是不一样的
            // var -> 在与解释的时候只是提前的声明
            // function -> 在预解释的时候提前的声明 + 定义都完成了
            // 预解释只发生在当前的作用域下 , 例如开始只对Window下进行预解释,只有函数执行的时候才会对函数中的进行预解释
            console.log(num); // undefined
            var number = 12;
            var obj = {name: "LDH", age: 7};
            console.log(num); // 12;
            fn(100, 200); // 可以在上面执行,因为预解释的时候声明和定义就已经完成了; 
           function fu(num1, num2) {
                var total = num1 + num2;
                return total;            }
            // js中内存的分类
            // 栈内存堆内存
            // 堆内存:用来存储引用数据类型的值->对象存储的是属性名和属性值,函数存储的是代码字符串
            // 栈内存:用来提供一个供JS执行的环境 -> 作用域(栈内存) (全局作用域,私有作用域)
        </script>
    </pre>
</body>
</html>

相关文章

  • 01-预解释

  • web前端面试题-javascript(四)

    1.预解释:不管条件是否成立都要进行预解释 2.预解释:等号右边的不进行预解释(匿名函数之函数表达式) 3.预解释...

  • 预解释

    1.为什么学习预解释 2.什么是预解释 3.带var和不带var的区别 3.预解释的6点总结 4.堆内存和栈内存

  • 预解释

    在当前的作用域中,JS代码执行之前,浏览器首先会默认的把所有带var和function的进行提前的声明或者定义 1...

  • * 预解释

    * 预解释 * 什么是预解释 * 关于预解释: 带var和带function不同 * 函数执行四阶段 * 作用域链...

  • js : 预解释分析规律+用到的知识点

    预解释分析规律 预解释 代码从上到下执行 当我们遇到“函数定义阶段”的时候,不管,因为在预解释阶段,函数已经声明+...

  • Git,预解释

    怎么判断git是否安装成功: git --version/git -v 只要能打印出版本号,就代表git安装成功;...

  • js : 预解释

    为什么要学预解释? 不知道应该把函数或变量定义在哪里 不知道为何条件判断中写函数定义阶段,会执行错误的结果 同一段...

  • 函数预解释

    1,js 分为两种数据类型: 基本数据类型:是按照值来操作的 引用数据类型:是按照引用的地址来操作的 引用类型:存...

  • 0720-面向对象的特点 原型链

    预解释分析规律 1)预解释2)代码从上到下的执行;3)当我们遇到"函数定义阶段"的时候,不管,因为在预解释阶段,函...

网友评论

      本文标题:01-预解释

      本文链接:https://www.haomeiwen.com/subject/kdnnjttx.html