1、定义(var variable
)
2、循环、判断、变量类型转换(for、if、while、do while
)
3、数组(var variable=[num1,num2,num3]
)
4、事件
5、面向对象
转换为Number类型:parseInt(var);
、parseFloat(var);
否为Number类型:isNaN(variable);
直接跳转页面:window.location.open='url';
打开一个新窗口:window.open('url');
会被Chrome拦截
生成一个随机数:Math.random();
拿到字符串:substr();
参数1:从第几个开始拿,参数2:拿几个
3、数组
常用数组方法:
求数组长度:var length=arr.length;
返回数组长度
数组追加最后元素:arr.push(var);
参数:追加的值
数组删除最后元素:res=arr.pop();
返回删除的的值
取出第一个数组元素并删除:originValu=arr.shift();
返回删除的值
插入第一个数组元素并删除:newLength=arr.unshift();
返回新数组的长度
删除特定的元素:res=arr.splice(index,howmany);
参数1:哪个下标元素开始, 参数2:删除几个元素,返回值:删除值的数组
查找某个元素在数组中下标:res=arr.indexOf(searchValue,fromindex);
4、常用事件
onmouseover="funcName()"
:当鼠标移到此处:可以用于做下拉框特效
onmouseleave="funcName()"
:当鼠标离开(比onmouseout
好用)
onblur="funcName":
当元素失去焦点(即:光标)时触发,用于验证登入时的邮箱格式、密码格式等。当失去焦点时可以用Ajax
的方式悄悄的把数据传给后台,在后台验证比较安全,然后返回验证结果给前台再集中处理,这是一个交互流程。
<input type="text" placeholder="emali" onblur=""checks()/>
<input type="telephone" placeholder="电话"/>
<script>
function checks(){
alert('email('email不合法')')
}
</script>
onchange="funcName()"
:当值改变的时候,可以用于地址改变(联动),什么省+什么市+什么区+什么县
<select onchange="change()">
<option value="1">北京</option>
<option value="2">上海</option>
</select>
<script>
function change(){
alert('value改变了')
}
</script>
5、面向对象
1、JS对象定义的三种方式:(各有各的好处)
<script type="text/javascript">
// 对象定义1:
var obj1 = new Object();
obj1.name = 'php';
obj1.sum = function(sum1, sum2) {
console.log(sum1 + sum2)
}
obj1.sum(1, 2);
// 对象定义2:
var obj2 = {};
obj2.name = 'php';
obj2.sum = function(sum1, sum2) {
console.log(sum1 + sum2)
}
obj2.sum(1, 2);
// 对象定义3:
var obj3 = {
name: 'php',
sum: function(sum1, sum2) {
return sum1 + sum2;
}
};
console.log(obj3.sum(1, 2));
</script>
2、对象的引用
// 对象的的引用
var obj1 = {
table: 'sordidez',
middle: function() {
return this;
},
print: function() {
return this.table;
}
}
// this 引用
console.log(obj1.middle().print());
// 对象复制)
obj2 = obj1;
console.log(obj2.middle().print());