jQuery是一个使用JavaScript功能构建的框架。因此,您可以使用JavaScript中提供的所有功能和其他功能。本章将解释大多数基本概念,但经常在jQuery中使用。
串
JavaScript中的字符串是一个不可变对象,它不包含任何一个或多个字符。以下是JavaScript字符串的有效示例 -
数字
JavaScript中的数字是双精度64位格式IEEE 754值。它们是不可变的,就像字符串一样。以下是JavaScript编号的有效示例 -
布尔
JavaScript中的布尔值可以是true或false。如果数字为零,则默认为false。如果空字符串默认为false。
以下是JavaScript布尔值的有效示例 -
对象
JavaScript非常支持Object概念。您可以使用对象文字创建对象,如下所示 -
您可以使用点表示法编写和读取对象的属性,如下所示 -
数组
您可以使用数组文字定义数组,如下所示 -
数组有一个长度属性,可用于迭代 -
功能
JavaScript中的函数可以是命名的,也可以是匿名的。可以使用function关键字定义命名函数,如下所示 -
匿名函数可以与普通函数类似的方式定义,但它没有任何名称。
可以将匿名函数分配给变量或传递给方法,如下所示。
JQuery非常频繁地使用匿名函数,如下所示 -
参数
JavaScript变量参数是一种具有length属性的数组。下面的例子解释得很好 -
arguments对象还有一个callee属性,它指的是你所在的函数。例如 -
上下文
JavaScript的著名关键字这总是指向当前上下文。在函数中,此上下文可以更改,具体取决于函数的调用方式 -
您可以使用函数内置方法call()和apply()方法为函数调用指定上下文。
它们之间的区别在于它们如何传递参数。调用将所有参数作为参数传递给函数,而apply接受一个数组作为参数。
范围
变量的范围是程序中定义它的区域。JavaScript变量只有两个范围。
全局变量 - 全局变量具有全局范围,这意味着它在JavaScript代码中的任何位置都定义。
局部变量 - 局部变量仅在定义它的函数中可见。函数参数始终是该函数的本地参数。
在函数体内,局部变量优先于具有相同名称的全局变量 -
打回来
回调是作为参数或选项传递给某个方法的普通JavaScript函数。一些回调只是事件,被调用以使用户有机会在触发某个状态时做出反应。
例如,jQuery的事件系统在所有地方使用这样的回调 -
大多数回调都提供参数和上下文。在事件处理程序示例中,使用一个参数(一个Event)调用回调。
一些回调需要返回一些东西,其他回调值则是可选的。为了防止表单提交,提交事件处理程序可以返回false,如下所示 -
关闭
只要在某个内部作用域内访问在当前作用域之外定义的变量,就会创建闭包。
下面的示例显示了变量计数器如何在创建,增量和打印功能中可见,但不在其外部 -
此模式允许您使用对外部世界不可见的数据进行操作的方法创建对象。应该注意的是,数据隐藏是面向对象编程的基础。
代理模式
代理是一个可用于控制对另一个对象的访问的对象。它实现与此其他对象相同的接口,并将任何方法调用传递给它。这个其他对象通常被称为真实主题。
可以实例化代理来代替该真实主题并允许远程访问它。我们可以在一个闭包中保存jQuery的setArray方法并覆盖它如下 -
上面将其代码包装在函数中以隐藏代理变量。然后,代理会记录对方法的所有调用,并将调用委托给原始方法。使用apply(this,arguments)可以保证调用者无法注意到原始方法和代理方法之间的区别。
内置功能
JavaScript附带了一组有用的内置函数。这些方法可用于操纵字符串,数字和日期。
以下是重要的JavaScript函数 -
返回转换为大写的调用字符串值。
文档对象模型
文档对象模型是HTML的各种元素的树结构,如下所示 -
演示
这将产生以下结果 -
以下是关于上述树形结构的重点 -
是所有其他元素的祖先; 换句话说,所有其他元素都是的后代。
和元素不仅是后代,还是的子元素。
同样,除了作为和的祖先之外,也是它们的父级。
元素是
的子(和后代),和的后代,以及彼此
元素的兄弟。
领取专属 10元无门槛券
私享最新 技术干货