js 组成
ECMAScript:解释器;翻译的角色:帮助计算机读懂人类写的语言 几乎没有兼容性问题
DOM: Document Object Model 给js操作页面的能力 有一些兼容性问题,可以解决的
BOM: Browser Object Model 给js操作浏览器的能力-window 没有兼容性问题--几乎不兼容变量类型
typeof 判断变量类型
string number boolean object undefined function
var a = 12;
alert(typeof a);
以上结果打印出number
NaN:not a number 与任何东西运算都是NaN,NaN与自身并不相等
检测NaN: isNaN(变量)parseInt
parseInt("a1234")-- NaN
parseInt("12psp34")-- 12
parseInt("12psp")-- 12
parseInt("asa")-- NaN
parseInt("12.6")-- 12== 与 === 区别
==:先将两边的内容转成同一种数据类型,然后再比较.隐
===:不转换直接比较-
运算符
+:两边数据不转换类型,直接运算- / :两边数据进行类型转换,再运算
break continue
break :循环直接终止
continue:本次循环终止,下面的继续什么是真,什么是假
真:true 非零数字 非空字符串 非空对象
假:false 数字零 空字符串 空对象 undefined数据传参
可以通过arguments获得函数参数,arguments用数组存着所有参数
function sum(a,b){
alert(arguments[0]);// 结果是1
}
sum(1,2);
currentStyle 与 getComputedStyle
元素设置width 100px
currentStyle :IE可以使用 火狐不适用
alert(txt1.currentStyle.width);
getComputedStyle: 火狐适用 IE不可以使用
alert(getComputedStyle(txt1).width);-
数组
创建://以下两种创建没有区别 var arr = [1,2,3]; var arr2 = new Array(1,2,3,4);
尾部添加元素
arr.push(4); //结果 [1,2,3,4]
头部添加元素
arr.unshift(0); //结果 [0,2,3]
尾部删除
arr.pop(); //结果 [1,2]
头部删除
arr.shift(); // 结果 [2,3]
排序
//sort所有的排序只认识字符串,非字符串会直接转换成字符串类型再进行排序 var sSortArr = ["float","number","boolean","unfefined","function"]; sSortArr.sort(); alert(sSortArr); //[boolean,float,function,number,unfefined] //数字排序使用一下方式 var nSortArr = [12,0,32,11,99,999]; nSortArr.sort(function(num1,num2){ return num1-num2; }); alert(nSortArr); // [0,11,12,32,99,999]
数组链接
var arr1 = [1,2,3];
var arr2 = [1,2,3];
alert(arr1.concat(arr2)); // 1 2 3 1 2 3
分隔符
alert(arr1.join("-")); // 1-2-3
字符串转为数组
var str = "12-4-5-18";
var arr = str.split("-");
alert(arr); //[12,4,5,18]
splice(开始位置,长度)
//中间删除
var arr = [1,2,3,4,5,6,7,8];
arr.splice(2,3);
alert(arr); //[1,2,6,7,8]
//中间插入
arr.splice(5,0,"a","b","c");
alert(arr);//[1,2,3,4,5,a,b,c,6,7,8]
//替换
arr.splice(2,2,"a","b","c");
alert(arr);//[1,2,a,b,c,5,6,7,8]