javaScript笔记

javascript

运行在客户端的脚本语言(轻量级、弱类型 )

javascript应用:
(1)表单验证
(2)ajax请求
(3) 网页特效

javascript组成:
(1)ECMAScript,描述了该语言的语法和基本对象。
(2)文档对象模型(DOM),描述处理网页内容的方法和接口。
(3)浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。

javascript代码编写位置:

(1) 写在body的任何地方
(2) 写在标签中
代码必须写在

<script type="text/javascript">
		js代码..........
</script>

(3) 写在.js结尾的文件中
使用时必须要引用:

<script src="js文件的路径及名称"type="text/javascript"charset="utf-8"></script>

输出:显示数据

(1) 使用 window.alert() 弹出警告框。 特点:警告框显示(html标签当成文本显示)
(2) 使用 document.write() 方法将内容写到 HTML 文档中。 特点:显示在网页文档中(能解析html标签及css)
(3) 使用 console.log() 写入到浏览器的控制台。 特点:显示在控制台(F12–>console)

(4) 使用 innerHTML 写入到 HTML 元素。 后续章节(用得很多)

变量与数据类型(弱类型):
语法:

var   变量名 =;

查看原始数据类型:

typeof( 变量或值 );

注意:
javascript上要区分大小写

原始数据类型:
(1)number
(2)boolean
(3)string
(4)unfined:变量未初始化
(5)null:空的
(6)对象:

其它知识:
(1)取页面的元素的值(取值):

var  变量名 = document.getElementById('标签的id名称').value;	//注意:取出来都是string 

(2)给页面元素赋值(赋值):

 document.getElementById('标签的id名称').value = '值';

数据类型转换:
parseInt() 转为int
parseFloat() 转为float

标签应用事件:

<a onclick="函数名">  点我 </a>

js代码中:

function  函数名(){
		相关代码.......
	}

事件注册及使用:
语法:

元素对象.事件名 = function(){
	相关代码.......
}

例如:
在网页加载完毕后会执行function中的代码

window.onload = function(){
	相关代码......
}

例如:
在对id名称叫btn1的按钮做点击行为时,会执行function中的代码

document.getElementById('btn1').onclick = function(){
	相关代码......
}

Array:数组对象

创建语法:

new Array();
	new Array(size);
	new Array(element0, element1, ..., elementn);

定义数组并初始化:

//方式1:
	var arr = new Array();			//创建时length为0
	arr[下标] =  元素;

//方式2:
	var arr = new Array(3);
	arr[下标] =  元素;

//方式3:
	var arr = new Array(10,20,30,40,50);

//方式4:简洁方式
	var arr = [元素1,元素2,元素n]

数组的访问与输出:
访问:
通过下标访问,从0开始

获得数组的长度:

数组名.length;

循环输出(访问):

for(var i=0;i<数组名.length;i++){
	数组名[i]
}

排序语法:

数组名.sort(function(a,b){
	return a-b;		-->升序(如果是其它类型需要使用parseInt转换
});

数组名.sort(function(a,b){
	return b-a;		-->降序
});

数组名.sort(function(a,b){
	Math.random()-0.5;		-->随机排序
});

document常用方法:

document(DOM对象):
文档对象模型,提供了网页文档操作的方法和属性

常用方法
getElementById():根据标签id名称来获取元素,因为id名称不允许重名,因此返回:单个对象
getElementsByTagName():根据标签名称来获取元素,能获取同名的所有标签,因此返回:数组
getElementsByClassName(‘class名称’):根据标签的class名称来取值,因为class可以重复调用,因此返回数组
getElelemmentsByName():根据标签的name来获取元素,可以相同,因此返回:数组

获取的属性:
innerHTML:设置或获取指定元素上值
注意:
表单因为有value属性,因此可以通过value属性来取值和赋值
但其它元素没有value属性,就可以通过innerHTML和innerText来取值和赋值

style:设置或获取指定元素的样式

var spans = document.getElementsByTagName('span');	//获取页面中所有的span标签

//获取某个元素:
	spans[下标].属性
	
//循环操作每个元素:
	for(var i=0;i<spans.length;i++){
		spans[i].属性 .........
	}

Date:日期对象

语法:

var  对象名 = new Date();
	var 对象名 = new Date(2012,5,5);	//通过构造方法设置日期

常用方法:

setxxx()方法组:设置日期的	
	如:
		setFullYear(2012):设置年份
		setMonth(4):设置月份
		.....
		也可以var 对象名 = new Date(,,......);

	getxxx()方法组:获取指定的部份
	如:
		getFullYear():获取年份
		getMonth():获取 月份
		...	

	toxxx()方法组:获取指定格式的日期
	常用:
		toLocaleString():获取日期和时间部份
		toLocaleDateString():获取日期部份
		toLocaleTimeString():获取时间部份

String:字符串

常用属性:

length:获取字符的长度

常用方法:

toUppercase():转为大写
toLowerCase():转为小写

charAt(位置):返回指定位置上的字符			返回值:位置上的字符
charCodeAt(位置):返回指定位置上的字符的编码		返回值:编码


indexOf('字符'):查找字符第一次出现的位置
lastIndexOf('字符'):查找最后一次出现的位置		返回值:从0截取的索引(未找到-1substr(start,length):从start开始截取length个字符,	返回值:截取后的字符串
substring(start,end):截取范围内的字符串		返回值:截取后的字符中(含start 不含end)

replace():替换

split('分割符'):按指定的符号分割为数组			返回值:数组 

Math对象:数学工具

语法:

Math.属性
Math.函数()

常用的属性:
Math.PI

常用的函数:

round():四舍五入
	ceil():上舍入
	floor():下舍入
	random():随机数 0-1之间的
	.....

产生范围内随机数:

Math.floor(Math.random() * 上限)     //注意:不含上限

function对象:函数
语法:

function    函数名(参数1,参数n){
		相关代码........
	
		return;			//有这句代码:表示函数有返回值	没有这句代码:表示函数没有返回值
	}

Golbal:全局对象

全局属性:

NaN:非数字的值
undefined:未定义的值

全局函数:

isNaN():判断是否非数字		//不是数字:true	是数字:false

	eval():将字符串按表达式执行		//例如:eval("10+10")可以得到结果:20
	
	parseInt():转为整数
	parseFloat():转为小数

	Number():转数值

window(BOM 宿主对象)


浏览器对象

常用的属性:
closed:窗口是否关闭

document:对document对象的引用
location:对location对象的引用
history:对history的引用
navigatator:对navigatator对象的引用
screen:对screen对象的引用
…………

常用的方法:

alert():消息警告框
prompt():提示输入对话框			返回:输入的内容和null
comfirm():带消息以及确定和取消按钮的对话框	返回:truefalse

setInterval(要执行的函数,间隔时间):每当经过间隔时间时就会执行指定的函数
clearInterval():清空由setInterval()设置的计时器
例如:

setInterval(myTime,1000):每隔1钟执行一下myTime函数(一直执行行)

setTimeout():到达指定的间隔时后执行函数
clearTimeout():清空由setTimeout()设置的计时器
例如:

setTimeout(myTime,1000)1秒钟后执行myTime函数,然后就结束

它们语法:

setInterval(要执行的函数,间隔时间);		->间隔时间是毫秒:1000毫秒是1setInterval(function(){.........},间隔时间);

表单

表单获取:

var f = document.forms[索引]
或者
var f = document.forms['表单id']
或者
var f = document.forms['表单name'];

表单的属性:
f.action
f.method
f.name

只要是表单的属性,都可以在js中使用
表单提交:

f.submit('页面');

表单重置:

f.reset();

表单元素的索引:

f[索引].属性

节点

获取子节点:
children:获取所有子元素(只获取html子元素本身) 返回:HTMLCellection
childnodes:获取所有的子节点(包含:文本节点、注释节点…) 返回:NodeList
例如:

<ul>
		<!--注释-->
		<li>aaaa</li>
		<!--注释-->
		<li>aaaa</li>
	<ul>
//chilren获取:2个
//childNodes获取:9个
firstChild和lastChild:获取第1个子节点 和 最后一个子节点			返回:node
firstElementChild  和 lastElementChild:获取第1个子元素 和 最后一个子元素	返回:HTMLElement

插入节点与创建节点

创建节点:

document.createElement('节点名称');

例如:

var newNode = document.createElement('li');		表示创建li
	var  newNode = document.createElement('option');	表示创建option
	//设置节点显示的内容:
	newNode.innerHTML = "内容";
案例:创建多选框
var chk = document.createElement('input');
chk.type = 'checkbox';
chk.vaue = '足球';

插入节点:
insertBefore():法在您指定的已有子节点之前插入新的子节点。
语法:

元素.insertBefore(新节点,已存在的节点);

appendChild():可向节点的子节点列表的末尾添加新的子节点。
语法:

元素.appendChild(新节点);

克隆节点:cloneNode()
语法:
元素.cloneNode(true):将子孙元素一起克隆
元素.loneNode(false):只克隆元素本身

例如:
	document.getElementById('ul1').cloneNode(true);		//会克隆ul本身和里面的所有li或更深的孙子元素
	document.getElementById('ul1').cloneNode(false);		//只克隆<ul>本身

删除节点
removeChild(index):删除子节点
remove():删除选中节点,包含子节点
例如:

document.getElementById('#p2').remove();		-->删除p2元素

其它:
parentNode:获取父节点

动态添加事件:

元素.addEventListener('事件',function(){...........});
document.getElementById('#p2').addEventListener('事件',function(){...........});		-->为id为p2的元素添加点击事件

遍历获取的元素集合/数组

元素集合.forEach(function(item){		//注意:item 自己取的參數名
	.............
});

下拉列表框

取值
取标签本身:

var sel1 = document.getElementById('sel1');

选中项的下标(索引)

var sel_index = sel1.selectedIndex;

选中项的value值(设置了才能取,没有设置就取不到)

var sel_value = sel1.value;

选中项的文本值(之间的数据)

var sel_text = sel1.options[sel_index].innerText;	//或者innerHTML		options表示取到<select>中所有的<option>标签
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值