zoukankan      html  css  js  c++  java
  • JS中的数据类型(见《Jquery实战<附录>》)

    一、所有数据类型的常量都看作对象。
    (一)、JS自带的数据类型怎样创建对象?
    number、String这些基本类型的值,23、"abc"等常量本身就是对象。
    Date类型:通过一个构造函数创建对象,new Date(2015,7,8)
    (二)、用户怎样创建自定义的对象?
    1.通过var o = new Object();
    然后动态的指定对象o的属性。
    2.通过对象字面量;
    3.通过定义一个构造函数。

    二、JS自定义对象的特点
    对象包含属性,
    属性包含属性名和属性值,
    属性名是字符串,属性值可以是任何对象。

    创建一个自定义JS对象,更像是定义了一种临时语言,用一些字符串去分别对应一个常量(包括函数)。
    JS里的一个函数是一个常量,和1,"abc"这些基本数据没有区别。

    三、JS回调函数

    A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.

    <html>   
       
    <head>   
       
    <title>回调函数(callback)</title>   
    <script language="javascript" type="text/javascript">   
    function a(callback)   
    {      
       alert("我是parent函数a!");   
        alert("调用回调函数");   
        callback();   
    }   
    function b(){   
    alert("我是回调函数b");   
      
    }   
    function c(){   
    alert("我是回调函数c");   
      
    }   
      
    function test()   
    {   
        a(b);   
       a(c);   
    }   
      
    </script>   
    </head>   
       
    <body>   
    <h1>学习js回调函数</h1>   
    <button onClick=test()>click me</button>   
    <p>应该能看到调用了两个回调函数</p>   
    </body>   
       
    </html>

    四、闭包
    JS、过程式编程,允许在一个外部函数里定义使用内部函数。而对象式编程一般不允许在一个函数里定义另外一个函数。
    因此也意味着在过程式编程存在一个对象式编程不存在的现象:内部函数可能比外部函数的生命周期要长。
    什么是闭包?
    闭包这个概念是针对过程式编程的。
    即一个内部函数引用了外部函数定义的一个局部变量,则在外部函数执行结束后,内部函数仍可以使用所引用的外部变量,即这些变量的生命周期超出了定义它的外部函数的生命周期,形成了内部函数的闭包。


    五、选择器:
    (一)、确定元素所属DOM的层次
    $("*"):所有元素
    $("#id"):根据id选择
    $(".class"):根据所属的类
    $("p"):根据元素名
    $("body>div"):作为<body>直接子节点的<div>
    $("body>div:has(a)"):作为<body>直接子节点的<div>、包含链接(<a>)的<div>。
    (二)、对选出的同类元素进行筛选

    1.根据在同类元素中的位置
    $("p:first"):
    $("tr:even")
    $("ul li:eq(3)")
    $("ul li:gt(3)")

    2.根据元素的属性
    $("[href]"):所有带有href属性的元素
    $("[href='#']"):所有 href 属性的值等于 "#" 的元素
    $("[href!='#']"):所有 href 属性的值不等于 "#" 的元素
    $("[href$='.jpg']"):所有 href 属性的值包含以 ".jpg" 结尾的元素


    $(":contains('W3School')"):包含指定字符串的元素
    $(":empty"):无子(元素)节点的所有元素
    $("p:hidden"):所有隐藏的<p>元素
    $("table:visible"):所有可见的表格

    操作input元素的选择器
    $(":input"):所有 <input> 元素
    $(":text"):所有 type="text" 的 <input> 元素
    $(":password"):所有 type="password" 的 <input> 元素

    $(":enabled"):所有激活的 input 元素
    $(":disabled"):所有禁用的 input 元素
    $(":selected"):所有被选取的 input 元素
    $(":checked"):所有被选中的 input 元素

    (三)、其他选择
    $(":header")所有标题元素 <h1> - <h6>
    $(":animated")所有动画元素

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    白盒,单元测试
    向数据库添加100W 条数据 性能测试
    软件测试
    软件需求工程-产品经理该如何更好地记录反馈、捕捉需求?
    Spring,Spring MVC,MyBatis,Hibernate总结
    Java基础总结
    Java8新特性_四大内置核心函数式接口
    Lambda表达式及相关练习
    Java 8新特性(Lambda,Stream API)
  • 原文地址:https://www.cnblogs.com/wllhq/p/4634452.html
Copyright © 2011-2022 走看看