1.运算符
运算操作符
“+”加号
1.数学运算,字符串连接
2.任何数据类型加字符串都等于字符串“-“减号 “*”乘号 “/”除号 “%”取余 “=”赋值
比较运算符
“>” “<” “==” “<=” “>=” “!=”
1.运算结果为Boll值
2.被认定为false的值:undefined,null,NAN,0,false
2.条件语句
if(a>b){
a++;
}
else{
b++;
}
好像和c没啥区别,就不说了
3.switch case
…这个和c也是差不多的
4.typeof(a)/typeof a返回变量类型
变量类型有:number string Boolean object undefined function
未被定义的变量只有被typeof()时不会报错,并且返回undefined,其值为字符串类型
类型转换
1.var num =Number('123'); //转换为数字类型的123
2.var num = Number(undefined); //转换为NaN
//将括号内的类型转换为数字类型,如果转换对象是字符或者含有字符,那么转换为NaN
1.var num = parseInt(demo); //转换为整型
2.var num = parseInt(ture);
3.var num = parseInt(false); //当且仅当对象为Boolean类型时转化为NaN
4.var demo = '10';
var num = parseInt(demo,16); //以16进制为基底转化为10进制
1.var num = parseFloat(demo); //转化为浮点数
1.var num = Boolean(num); //转化为布尔值
1.var num = demo.toString(); //undefined和null不能用,否则报错
1.var num = 123.456789;
docunment.write(num.toFixed(3));
//保留三位小数,四舍五入。
隐式类型转换
1.isNaN() 调用Number,与NaN进行对比,若相同返回ture,否则返回false
2.‘++’ ‘–’ 将类型转化为数字类型
var a = '123';
a++;
其结果为数字类型的124
3.‘+’ 正号 ‘-’负号
var a = +'abc';
console.log(a + ': '+ typeof(a));
//NaN:Number
4.‘+’ 加号 调用string()任何类型与字符串相加都得字符串
5.‘-’ ‘*’ ‘/’ ‘%’ 调用Number
6.‘&&’ ‘||’ ‘!’7.‘>’ ‘<’ ‘>=’ ‘<=’ 有数字进行比较就转化为数字,字符与字符比较比较的是ASCII的值
8.‘==’ ‘!=’ 转化为同一类型进行比较
5.函数
function sum(a){
a++;
}
sum(a);
function为定义函数的关键字。
1.命名函数表达式
var text = function abc(){
}
2.匿名函数表达式
var demo = function() {
}
当实参数量大于形参数量时,函数中arguments数组中存下所有实参
function sum(a){
//arguments--[11,2,3] 实参列表
console.log(arguments);
}
sum(11,2,3);
映射规则,函数中形参变量值变化时对应arguments中的值也对应变化,arguments中的值变化时对应的形参变量的值也发上变化
function sum(a,b){
//arguments[1,2] var a=1;
a=2;
arguments[0]=3;
console.log(a);
}
sum(1,2);
当形参的数量大于实参的数量时,多余形参的部分即使在函数中赋值,形参的值改变,但是不遵循映射规则,对应arguments数组中的值为undefined,如果给多余arguments数组中赋值,不仅形参的值为undefined,对应arguments数组中的值也为undefined
function sum(a,b){
b=2;
console.log(arguments[0]);
}
sum(1);
函数的递归
//求斐波那契数列第n项的值
function fb(n){
if(n == 1 || n == 2){
renturn 1;
}
renturn fb(n - 1)+fb(n - 2);
}
6.预编译
预编译前奏
1.imply global 暗示全局变量,即任何变量,如果变量未经声明就赋值,该变量就为全局所有。
2.一切声明的全局变量,也归window所有。(window就是全局的域)
预编译
1.创建AO对象
2.找形参和变量声明,将变量和形参名作为AO属性名,值为undefined
3.将实参值和形参值统一
4.在函数体里面找函数声明,值赋予函数体
function fn(a){
console.log(a);
var a = 123;
console.log(a);
function a(){}
console.log(a);
var b = function(){}
console.log(b);
function d(){}
}
//function a(){}
//123
//123
//function(){}
JS也就只了解这么多了,看了这些后总的体验是,,,和c真像。。
如有错误感谢指出