zoukankan      html  css  js  c++  java
  • 关于jquery源码中undefined作为参数的理解

     

     

    大家先看一下,下面代码


    (function (window,undefined) {
    window.alert('zhangling');
    var person = {};
    person.addName = function () {

    };
    person.addAge = function () {

    };
    })(window)

    压缩后:

    (function(a,b){a.alert('zhangling');var c={};c.addName=function(){};c.addAge=function(){}})(window);

    非常清晰的看到window ,undefined  已经作为局部变量被压缩了;PS:(不要用window.undefined传递给形参,有可能window.undefined被其他人修改了,最好就是甚么都不传,形参的undefined就是真正的undefined了。);
    continue!
    在最早的ECMAScript3中undefined 是可读可写的,可以作为变量名进行赋值操作;在ECMAScript 5 中做了修正undefined作为只读变量;
    防止低端浏览器重新定义了undefined 了,

    还有:在

    function ($, undefined){ })(jQuery)

     
    规避用户对undefined进行定义,致使函数发生异常
     
    (function ($, undefined){ })(jQuery)
    如果用户
     
    var undefined =xiaoyan;
    (function ($, undefined){ })(jQuery) //这里就可以传个undefined的形参,避免上面的定义,只要没传值进去,undefined就不会被赋值
  • 相关阅读:
    python-常用数据类型
    python入门篇
    Vue 架构
    Bootstrap Web框架
    策略模式
    Java线程安全总结
    JVM中线程状态转换图
    java 多线程并发系列之 生产者消费者模式的两种实现
    JVM 垃圾回收器详解
    MyISAM和InnoDB索引实现对比
  • 原文地址:https://www.cnblogs.com/andking/p/5479916.html
Copyright © 2011-2022 走看看