11月查缺补漏dd

72 阅读1分钟

1.JS中 $ 的含义及用法

$:获取指定网页元素的函数

  1. $()可以是$(expresion),即css选择器、Xpath或html元素,也就是通过上述表达式来匹配目标元素。

    $("a")构造的这个对象,是用CSS选择器构建了一个jQuery对象——它选择了所有的<a/>这个标签。

    如:

    $("a").click(function(){...})
    

    就是在点击页面上的任何一个链接时的触发事件。确切地说,就是jQuery用<a/>这个标签构建了一个对象$("a"),函数 click()是这个jQuery对象的一个(事件)方法。

  2. $()可以是$(element),即一个特定的DOM元素。

    如常用的DOM对象有document、location、form等。如这样一行代码:

    $(document).find("div>p").html()); 
    

    $()中的document是一个DOM元素,即在全文寻找带<p><div>元素,并显示<p>中的内容

  3. $()可以是$(function),即一个函数,它是$(document).ready()的一个速记方式。

    如常见的形式是这样的:

     $(document).ready(function(){ alert("Hello world!"); });  
    
    $(alert("Hello world!"));  
    

    均会弹出Hello world!

2. ()()立即执行函数

声明一个函数,并马上调用这个匿名函数就叫做立即执行函数

不要让function出现在行首,让JS引擎将其理解为一个表达式,最简单的处理就是将其放在一个圆括号里:

(function(){
//code
}())

(function (){
//code
})()

// 两个是相同的

1). 立即执行函数的作用

  1. 不必为函数命名,避免了污染全局变量

  2. 立即执行函数内部形成了一个单独的作用域,可以封装一些外部无法读取的私有变量

    <body>
        <ul id="list">
            <li>公司简介</li>
            <li>联系我们</li>
            <li>营销网络</li>
        </ul>
        <script>
           var list = document.getElementById("list");
          var li = list.children;
          for(var i = 0 ;i<li.length;i++){
           ( function(j){
                li[j].onclick = function(){
                  alert(j);
              })(i); 把实参i赋值给形参j
            }
          }
         </script>  
    </body>
    
  3. 封装变量

2). 参数

(function(j){
//代码中可以使用j
})(i)

i 实参,j 形参;

3). 返回值

除了可以返回基本类型值以外,立即执行函数也能返回任何类型的值,比如对象,函数。

参考:www.jianshu.com/p/b10b6e93d…