很多语言的基础语法方面都大同小异。初学javascript,还没有js代码上的积累,为了识记js语法上的一些特点,特意开贴记录。
几时执行
放在<body>标签内的<script>代码在页面载入时就会执行,且是按代码顺序(包括html、css代码)加载执行的。除非这段代码被定义在一个函数function里面,这个时候函数function被调用的时候才执行
数组
//way 1
var 数组名 = new Array();
数组名[i];
//way 2
var 数组名 = new Array(值1,值2,...);
//way 3
var 数组名 = [值1,值2,...];
对象
跟C/C++不同的是,js的对象是用花括号包围,以(name : value)的形式来定义的
//way 1
var 对象名 = {
属性1 : 值1,
属性2 : 值2,
...
}
//way 2
对象名 = new Object();
对象名.属性名1 = 值1;
对象名.属性名2 = 值2;
...
如何创建一个对象数组呢?
声明变量类型
用关键词new来声明变量类型
var 变量名 = new 类型名
类型名有:String、Number、Boolean、Array、Object
注:js中的变量均为对象
这里发现是new 类型名
而不是new 类型名()
,实际上加不加括号有一定的影响,那么如何区分呢?这里先挖个坑,后续写文章分享我对这里的理解。
比较运算符
5=="5"
为true
5==="5"
为false,强相等,要求数值和类型都一样
for/in循环
对对象的属性进行遍历
for(i int 对象名){
对象名[i];//对对象的第i个属性进行的操作
}
javascript标签
break 标签名、continue 标签名可以跳出代码块
标签名:{
语句1;
语句2;
...
}
break 标签名;
continue 标签名;//只能用在循环中
try、catch、throw
在执行try的代码时,如果发生异常、错误,就会发送错误。如果catch捕获到错误err
,那么就会执行catch部分的代码。
如果在try的代码中定义什么情况下抛出自定义的异常信息(throw 异常信息
),那么catch中捕获的错误err
中为自定义的异常信息
注:实际上,throw只是将js自带的异常信息提醒变为自定义的异常信息提醒
查找html元素
var x = document.getElementById("id名");//通过id来查找
//通过标签名查找,有多个相同的标签,比如<p>标签,那么y会成为一个数组。
var y = x.getElementByTagName("标签名");
改变html
用write()函数来进行输出,用innerHTML()函数来进行替换
document.write();//直接输出内容,若html文档加载完后使用,则会覆盖文档
document.getElementById(id).innerHTML = "新的html内容"//将id的html内容进行替换
document.getElementById(id).属性名 = 新值//更改属性的值
改变css
document.getElementById(id).style.属性 = 新值;
事件
所谓的事件可以作为一种对象的属性,属性的值可以理解为事件触发时调用的函数
- 点击:onclick
- 加载或离开页面时:onload、onunload
- 改变时:onchange
- 鼠标移来、移走:onmouseover、onmouseout
- 点击鼠标、释放鼠标:onmousedown、onmouseup;如果定义了onclick,那么在执行完onmouseup之后会执行onclick
- 输入框获得焦点时:onfocus
创建新的html元素
document.createElement(标签名);//创建新元素
document.createTextNode(文本结点内容);//创建一个文本结点,同理可以创建其他结点
新元素名.appendChild(结点名);//将结点内容赋给元素
旧元素名.appendChild(新元素名);//在原来的元素后面添加新元素
删除html元素
和创建不同的是,在删除html元素之前要获取该元素的父元素,然后用removeChild()来删除
父元素名 = 子元素名.parentNode;//获取父元素
父元素名.removeChild(即将删除的元素名);
网友评论