学习了一段时间 js,遇到了许多的问题,大部分都是忽略了很多细节,现在做一下总结与回顾。
1. 当一个变量名既是局部变量又是全局变量时,会优先访问局部变量.也就是说,局部变量在其作用域内的优先级高于外层作用域的同名变量.
var age = 18;
for(i=0;i<5;i++)
{
age = 20;
console.log(age);
}
输出结果为: 20
2.数字后加小数点与保留位数
toExponential([fractionDigits]) :将数字按科学计数法格式返回,其中的fractionDigits值小数点后保留的位数。
toFixed([fractionDigits]) :将数字按指定的小数点位数返回,其中的fractionDigits值小数点后保留的位数。
toPrecision([precision]) :将数字按指定的精度返回(这个精度不是指小数点后几位),其中precision是指定的精度值。
var num=56.45678; var rs1=num.toExponential(4);//rs1的值为5.6457e+1 (四舍五入) var rs2=num.toFixed(4);//rs的值为56.4568 (四舍五入) var rs3=num.toPrecision(4);//rs的值为56.46 (四舍五入)
3. 常用但又需要注意的细节
1)多行注释以 /* 开始,以 */ 结尾。
/*var stu = Tom; var age = 19; console,log(stu);*/
2)单行注释用 //
// console.log(list);
3){} 花括号,用来定义一个对象
var list={name:tom,age:18};
4) [] 中括号,用来定义一个数组
var number = [1,2,4,5]
4. 看数据怎么存入一个数组 :score.push或score[score.length]
var score=[];
var age = 19;
score.push(age);
console.log(score); //输出结果:19
或
score[score.length] = age; //输出结果:19
5. / 与 % 的区别
x=y/2; //即x=5/2,结果{x:2.5, y:5}。 x=y%2; //即x=5%2,结果{x:1, y:5}。结果是x=5/2整数求商时的余数1。
6. y++ 与 ++y的区别
1) var x,y=5,z; x = ++y; //6 z = --y; //5 2) var x,y=5,z; x = y++; //5 z = y--; //6