您的位置:首页 > Web前端 > JQuery

JS中的数据类型(见《Jquery实战<附录>》)

2015-07-09 22:45 671 查看
一、所有数据类型的常量都看作对象。
(一)、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")所有动画元素
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: