未定义:undefined
布尔类型值:true,false
判断类型:typeof()
绝对值:Math.abs(-1)
声明常量:const 声明变量:var
小数两值互换如果出现问题,可以通过将小数放大为整数,互换之后再除以放大倍数,如:
var a = 2.4;
var b = 2.8;
a *= 100; //放大100倍 = 240
b *= 100; //放大100倍 = 280
通过互换公式互换:
n1 += n2;
n2 = n1 - n2;
n1 -= n2;
a = 240; b = 280;
a += b; //结果为:a = 520;
b = a - b; //结果为: b = 520 - 280; b = 240;
a -= b; //结果为 : a = 520 - 240; a = 280;
互换后的结果是:a = 280; b = 240;
a /= 100; 即:280 / 100 = 2.8
b /= 100; 即:240 / 100 = 2.4
最终结果是:a = 2.8; b = 2.4;
unicode:隐式转换
小写字母的unicode大于大写字母的unicode;
alert:发出警告(没有返回值,会阻塞后面的脚本执行)
confirm:确认选择(返回布尔值,会阻塞后面的脚本执行)
prompt:(输入提示框)
parseInt():将一个数字转换成整数
parseFloat():将一个数值转换成浮点数
continue:跳出本轮循环,执行下一轮循环
break:跳出循环,打断case语句执行(跳出当前循环)
switch case 判断区间,如:switch(xx){
case 10;
console.log('优秀');
}
while循环 ,需要有前提条件才能执行
do while 循环,第一次没有前提条件也可以执行,之后的循环都需要其他条件
函数声明:
1.function f () { } 调用函数 f ();
2.匿名函数,如:var lian = function(){ }
匿名函数自调,如:(function(){
liang( );//调用了这个函数
f( ); //调用了这个函数
}( );
return:跳出当前函数,将函数原型结果返回到外部
如:var a = function(){
return liang;
}
函数递归:在函数内部调用函数本身,如:function g (){ g() };
arguments:实际参数对象(对象:一组属性的集合)
arguments.callee 指函数本身
获取实参:var first = arguments[0]; 第一个实参
获取实参的个数: var len = arguments.length;
数组
array是按此序排列的一组值,每个值的位置都有编号(从0开始)
push: 推进,向数组的尾部添加一个元素,修改原数组
pop: 弹出,从数组的尾部弹出一个元素,不能弹出指定的元素,修改原数组
unshift() : 推进,向数组头部添加一个元素,修改原数组
shift() : 弹出,从数组头部弹出一个元素,(不能指定元素),修改原数组
slice(n, m): 截取数组元素,不修改原数组,返回新数组 n为开始截取位置,可以为负数,数组最后一个元素为负1,倒数第二个元素为负2,依次类推
m为结束截取位置,实际截取位置为(m - 1),如果不传递m参数,则从下标n开始截取到末尾,如:slice(n)
splice ( n, m ) : 剪切数组元素,修改原数组,返回新数组,n为开始剪切位置,m为剪切数组元素个数,如果不传递m参数,则从下标n开始,一直剪切到末尾
concat() : 将多个数组合并成一个数组,不修改原数组并返回新数组,如:a.concat(b,c);将b数组和a数组合并到a数组
sort(): 将数组排序(默认排序方式unicode排序),修改原数组
sort(fn): fn是sort的回调函数,该函数接收两个参数,如参数a和b,该函数具有返回值,如果返回的是return a - b;则升序,如果返回的是return b - a;则降序,如:
sort(function(a,b){
return a - b;
})
reveres();将数组元素倒序
Math.random():生成随机数,取值范围 0 <= x < 1;
Math.floor():向下取整,如Math.floor(3.9998); ==>3
join(reg):将数组按照reg规则合并数组,不修改原数组,返回新字符串,如果不传递reg参数则默认为以逗号合并。
对 象
对象:一组元素的集合
声明方式:字面量方式 var O = { }
构造函数方式:var obj = new object();
为对象添加新属性,如:o.name = 'jerry' 或o.['name'] = 'jerry'
获取属性对象,如:o.name 或 o['name'](一般用于动态获取属性值)
修改对象属性,如:o.name = 'kevin'
删除对象的属性值,如:delete o.name
遍历对象
使用for in来遍历对象,如:for(var key in o){ };其中key为o对象的键名,o为需要遍历的对象
获取对象的键名,Objectg.keys(o);如:var k = Object.keys(person); console.log('k==>', k);
对象的this丢失问题
如果在对象的方法的函数使用this,会发生丢失this,this不再指向当前对象,而是指向其他对象,如window对象,
想要保留this的指向,可在对象方法使用变量保存this,如:
var o = {
name : ‘car’
getName : function(){
var self = this;
}
}
数据类型判断
数据类型判断 typeof,如:var a = 1; var b = typeof a; console.log('b==>', b);//b==> number(数据类型)
原始类型:如:string(字符串类型)
引用类型:object
获取对象的原始类型值:var v = x.valueOf(); console.log('v==>', v);