Javascript与jQuery学习笔记(入门教程)

作为以前从没接触过Javascript的新人,先从以下几个方面,花少许时间初步的了解Javascript,然后再系统全面的学习Javascript。
Javascript是什么
Javascript能干什么
Javascript怎么用
Javascript是什么
JavaScript 是一种脚本语言,是可插入HTML页面的编程代码。Javascript插入HTML页面后,可由所有的现代浏览器执行。
Javascript能干什么
JavaScript是插入网页中的脚本语言,所以JavaScript的作用于网页上。JavaScript的功能很强大:
JavaScript能够改变页面中所有的HTML元素
JavaScript能够改变页面中所有的HTML属性
JavaScript能够改变页面中所有的CSS样式
JavaScript能够对页面中所有的事件作出反应
Javascript怎么用
JavaScript在HTML中用<script></script>标识,一般置于<head>中或者置于页面底部。
可以通过<script src=” xx.js”></script>引入外部JS文件。
JavaScript对大小写是敏感的。
声明变量用var 不指出变量类型,变量类型由其值决定。Var name = “a”;
未使用值来声明的变量,其值实际上是undefined。若变量重新声明,值不会丢失。
JavaScript拥有动态数据类型:var x=6; var x=”a”;
JavaScript字符串可用单引号或者双引号。
JavaScript数组: var a = new Array();
var a = new Array(“A”,”B”,”C”);
var a = [“A”,”B”,”C”];
其余基本用法与java类似。
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
var person={firstname:"Bill", lastname:"Gates", id:5566};
Undefined 这个值表示变量不含有值。可以通过将变量的值设置为 null 来清空变量。
JavaScript中所有事物都是对象:数字,字符串,数组,日期……..
JavaScript中对象是 拥有属性和方法的数据。
JavaScript创建对象:创建新对象有两种不同的方法:
1)定义并创建对象的实例
2)使用函数来定义对象,然后创建新的对象实例
方法一:定义并创建对象的实例
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
或person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
方法二:使用对象构造器
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
function name(){}可以嵌套进构造器中
}
JavaScript是面向对象的语言,但是JS不使用类,不会用类创建对象。JavaScript 基于 prototype,而不是基于类的。
可以用for in循环遍历对象的属性 for(变量 in 对象){ },循环体中的代码块会针对每个属性执行一次。
JavaScript函数 function name() {} 。可在某时间发生时直接调用也可由JavaScript在任何位置调用。
JavaScript函数 带返回值时,加上return XX即可。
全局JavaScript变量在页面关闭后被删除,局部变量在函数运行后被删除。
JavaScript运算符 if switch for while break 与java类似。
JavaScript中错误与java的异常类似,throw try{} catch(err){}。
JavaScript中只有一种数字类型,所有数字均为64位。数字的属性与方法如下:

JavaScript字符串的用法举例:
长度:length属性 indexof()方法:定位某个字符首次出现的位置
Match()方法:查找字符串中特定的字符。
toUpperCase()方法:将字符串转换为大写。
Boolean(逻辑)对象用于将非逻辑值转换为逻辑值(true 或者 false)。
如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!

HTML DOM (文档对象模型)
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。HTML DOM 模型被构造为对象的树。

查找 HTML 元素,有三种方法:通过 id 找到 HTML 元素。通过标签名找到 HTML 元素。通过类名找到 HTML 元素。
通过 id 找到 HTML 元素:var x=document.getElementById("id");
如果找到,x为该元素对象,如果未找到,返回null。
通过标签名找到 HTML 元素:var x=document.getElementById("main");
var y=x.getElementsByTagName("p"); 找main中<p>标签的元素。
通过类名找到 HTML 元素:在IE 5 6 7 8 中无效。
改变HTML输出流:document.write() 可用于直接向 HTML 输出流写内容。
改变HTML内容:document.getElementById(id).innerHTM = new HTML
= “XXX”
改变innerHTML
改变HTML属性:document.getElementById(id).attribute = new value
如:document.getElementById("image").sr c= "landscape.jpg";
改变HTML样式:document.getElementById(id).style.property = new style
如:document.getElementById("p2").style.color = "blue";
onclick="document.getElementById('p1').style.visibility = 'hidden' "点击隐藏p1
onclick="document.getElementById('p1').style.visibility = 'visible' "点击显示p1
HTML事件:
onload 和 onunload 事件会在用户进入或离开页面时被触发。
onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。
onload 和 onunload 事件可用于处理 cookie。
onchange 事件常结合对输入字段的验证来使用。
onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。
onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。
创建新的HTML元素:
var para=document.createElement("p");
var node=document.createTextNode("这是新段落。");
para.appendChild(node);
或者:
var element=document.getElementById("div1");
element.appendChild(para);
删除已有的HTML元素:找到希望删除的子元素,然后使用其 parentNode 属性来找到父元素,然后从父元素中删除子元素。(必须由父节点删除)
var node=document.getElementById("p1");
node.parentNode.removeChild(node);
继续学习DOM树:在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素(节点)均可被修改,也可以创建或删除节点。

所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。
DOM常用对象方法:

获取元素内容的最简单方法是使用 innerHTML 属性。innerHTML 属性对于获取或替换 HTML 元素的内容很有用。
nodeName 属性规定节点的名称。
nodeName 是只读的
元素节点的 nodeName 与标签名相同
属性节点的 nodeName 与属性名相同
文本节点的 nodeName 始终是 #text
文档节点的 nodeName 始终是 #document
nodeValue 属性:
nodeValue 属性规定节点的值。
元素节点的 nodeValue 是 undefined 或 null
文本节点的 nodeValue 是文本本身
属性节点的 nodeValue 是属性值
nodeType 属性返回节点的类型。nodeType 是只读的。

jQuery
jQuery 是一个 JavaScript 库。
jQuery 极大地简化了 JavaScript 编程。
jQuery 很容易学习。
jQuery 库包含以下特性:
HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScript 特效和动画 HTML DOM 遍历和修改 AJAX Utilities
jQuery的添加
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
jQuery基础语法: $(seletor).action()
$(this).hide() - 隐藏当前元素
$("p").hide() - 隐藏所有段落
$(".test").hide() - 隐藏所有 class="test" 的所有元素
$("#test").hide() - 隐藏所有 id="test" 的元素

$("#id").function 对id执行function 注意 $与# 的用法
jQuery选择器:注意 #与[ ] 的用法


jQuery事件:注意选择器的用法。

jQuery 拥有可操作 HTML 元素和属性的强大方法。
获得内容 - text()、html() 以及 val()
三个简单实用的用于 DOM 操作的 jQuery 方法:
text() - 设置或返回所选元素的文本内容
html() - 设置或返回所选元素的内容(包括 HTML 标记)
val() - 设置或返回表单字段的值 val(“123”);
获得属性:attr()方法
设置属性:$("#w3s").attr({
"href" : "http://www.w3school.com.cn/jquery",
"title" : "W3School jQuery Tutorial"
});
Javascript代码中 jQuery 使用 $ 符号作为 jQuery 的简写。


Ajax学习
Ajax = Async javascript and xml 用于前端与服务器交换数据,可以在不加载整个网页的情况下对网页某部分进行异步更新。可以创建快速动态的网页技术。
XMLHttpRequest对象是Ajax的基石。
创建对象:
发送请求:
得到响应:

 

Ajax用于与服务器间的异步通信,异步:传输数据时不更新,在数据更新完成时对网页某部分进行更新。基于的HTTP协议,HTTP协议的连接不能长久保持,这就使得Ajax必须设置与服务器交互的频率。

posted @ 2019-08-15 14:49  77芽儿  阅读(147)  评论(0编辑  收藏  举报