zoukankan      html  css  js  c++  java
  • underscore.js 分析 第一天

    Underscore 是一个非常实用的Javascript类库。

    通过研究他能提高自身的JS水平。

    我们看到整个代码被 (function() { /*  代码 */ }.call(this)); 包裹了起来。

    (function() {
    // 代码
    }.call(this));

    这是什么意思?作用是什么?先不着急,我们通过一个个例子来学习。

    这个其实很好理解

    // 这是一个普通函数
    var a = function(){
       alert("11")
    }

    如果运行这段JS脚本,不会弹出11。因为没有调用a函数。

    但是注意如果函数名后面添个(),就会立即运行这个函数

    var a = function(){
      alert("11")
    }
    
    a()

    函数一般是有名字的,比如上面的函数就叫a,没有名字的函数叫匿名函数。我们知道JS支持匿名函数。

    JS中当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名函数就能立即运行起来!

    //立即弹出11
    (function (){
       alert("11")
    })()

    underscore的代码包裹在一个匿名自执行函数中。很多类库jQuery都是这么做。

    好处:

    1. 因为会立即执行,避免变量污染

    (function() {
        var jQuery = { 
        
          VERSION : '1.0',
          a: function(){
            alert("11");
          }
        
        };
        window.jQuery = jQuery;
        $ = jQuery;
    })();
    
    //$.a()
    
    $.VERSION;

      call的用法

    //而call(this)方法,是指当定义完后将this本身通过call()调用本身来实现立即执行。

    //在浏览器环境 全局this 就是window对象

    (function(){
    
    //执行语句
    
    }).call(this)
  • 相关阅读:
    简易表格练习
    CSS圆角样式
    力不从心
    学渣在努力~
    嫌疑人
    poj1308 Is it a tree?
    悲剧文本
    迷宫问题
    n皇后问题
    油田
  • 原文地址:https://www.cnblogs.com/mafeifan/p/3284483.html
Copyright © 2011-2022 走看看