JavaScript中所有不声明而直接使用的变量均为全局量,定义和使用函数时要注意闭包问题,一般将函数定义放到一个闭包中,变量均声明为局部变量。如
(funciton(){
var obj;//局部变量
v1 = 123;//全局变量
});
jQuery库添加了三个全局变量:jQuery,$两个相同,其实是jQuery.fn.init函数的对象
添加jQuery库可以使用Google CDN内容分发网络(速度更快,可以根据使用的地点选择最近的服务器),可以加载其提供的jQuery.js,本地服务器不需要保存jQuery库源码。
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jQuery","1.7.1")
</script>
jQuery用法
一、jQuery对象的方法:
var o = jQuery();
o.method();
二、jQuery自身方法:jQuery核心函数,Ajax,工具函数都是该用法
jQuery.method();
jQuery核心函数,
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery选择器练习</title>
<script type="text/javascript" src="https://www.linuxidc.com/jquery-1.7.1.js"></script>
<script type="text/javascript">
//jQuery的文档加载后执行JavaScript方法
//jQuery(function($){});全局使用jQuery,传递$参数,保证引用多个JavaScript库(如,Prototype)时不出变量冲突
jQuery(function($) {
//===================DOM对象与JQuery包装集===================
//通过document.getElementById(),document.getElementsByName()及document.getElementsByTagName()等取的就是DOM对象或DOM对象集,前者取的是对象,后者取得DOM对象集
var dom_obj = document.getElementById("text11");
var dom_obj = document.getElementsByName("text11")[0];
//var dom_obj = document.all["text11"];//在Quirks Mode下Firefox才有作用
//如果要使用JQuery提供的函数首先要构造JQuery包装集,通过$()返回的即是JQuery包装集(jQuery自定义的对象)
/*
* jQuery包装集“$”与"jQuery"一样都是调用如下函数返回
* "$===jQuery =" function (selector, context) {
* return new jQuery.fn.init(selector, context, rootjQuery);
* }
*/
var jquery_obj = $("#text11");
//返回是jQuery包装集对象,不是DOM对象
//===================JQuery包装集与DOM对象互相转换===================
//DOM对象不能使用JQuery属性方法,但DOM对象可以通过$()(这是jQuery一个核心函数)转换成JQuery包装集
var htmlStr = $(document.getElementById("text11")).val();
//JQuery包装集可以使用部分DOM对象的属性方法如.length,但也有个别属性方法不能使用如.value,可以获取对应DOM对象后进行操作
//要想根据jQuery包装集对象得到DOM对象,有以下方法
var dom_obj = $("#text11")[0];
var dom_obj = $("#text11").get(0);
var dom_obj = $("#text11").get()[0];
var text11_dom = $("#text11")[0];
//在each循环时或触发事件时的this也是DOM对象
$("#text11").click(function() {
this.value = "";
});