最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • console.log

    正文概述 掘金(邶念)   2021-07-09   517

    JS 一些基本概念

    • 数据类型
    1. 基本类型:numberbooleanstringundefinednull
    2. 引用类型:arrayobjectfunction
    • typeof 返回 六 种值

    numberbooleanstringobjectfunctionundefined

    • 六种情况下返回值为 false

    false0undefinednull""NaN

    • 其他
    null < 0、 null > 0、null == 0 // 均为 false
    undefined < 0、undefined > 0、undefined == 0 // 均为 false
    null == undefined // true
    
    {} == {} // false
    [] == [] // false
    

    运行逻辑

    • 语法分析:通篇执行一遍,看有木有问题,有问题直接报错

    语法问题报错:Uncaught SyntaxError
    逻辑问题报错:Uncaught ReferenceError

    • 预编译:( 预编译发生在函数执行的前一刻 )
    1. 创建 AO 对象;(AO:Activation Object 执行期上下文)
    2. 找到形参和变量声明,将变量和形参名作为 AO 属性名,值为 undefined
    3. 将实参值和形参统一
    4. 在函数体里面找函数声明,值赋予函数体

    变量与函数

    console.log(a);
    var a = 123; // 将 var 变成 let 将如何?
    
    test()
    function test() {
        console.log(123)
    }
    
    global = 100;
    function fn() {
        console.log(global);
        global = 200;
        console.log(global);
        var global = 300; // 将 var 去掉将如何?
    }
    fn();
    
    function fn(a) {
        console.log(a);
        var a = 123;
        console.log(a);
        function a(){};
        console.log(a);
        var b = function(){};
        console.log(b);
        function d(){};
    };
    fn(1);
    

    预编译执行逻辑

    // 第一步、第二步:
    AO: {
        a: undefined,
        b: undefined,
    }
    // 第三步:
    AO: {
        a: 1,
        b: undefined
    }
    // 第四步:
    AO: {
        a: function a(){},
        b: function(){},
        d: function d(){}
    }
    

    JS 基本类型和引用类型赋值问题

    var a = 1;
    function foo(x) {
        x = 2;
    }
    foo(a);
    console.log(a);
    
    var obj = {x : 1};
    function foo(o) {
        o.x = 3;
    }
    foo(obj);
    console.log(obj.x);
    
    var obj = {x : 1};
    function foo(o) {
        o = 100;
    }
    foo(obj);
    console.log(obj.x);
    
    let obj = {a: 0};
    function fun(obj) {
        obj.a = 1;
        obj = {a: 2};
        obj.b = 2;
    }
    fun(obj);
    console.log(obj);
    

    起源地下载网 » console.log

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元