Evan Zou

Welcome to my blog.

Javascript follower.


Hi, I am Evan, nice to meet you all.

JS 那些你不知道的知识(2)

1. 显示类型转换

parseInt(".1") =>NaN: 整数类型不能以.开始
parseInt("$72.47") =>NaN: 数字不能以$开头

2. 对象转换为原始值

var now= ew Date();
typeof(now + 1)  //=>String,"+"将日期转换为字符串
typeof(now + 1)  //=>Number,"-"使用对象到数字的转换
now == now.toString()  // >=> true: 隐式的和显式的字符串转换
now > (now -1)    // => true: ">" 将日期转换为数字

3. 声明提前

JavaScript 函数里声明的所有变量(但不涉及赋值)都被提前至函数体的顶部。来看下经典的代码例子:

Var scope="global";
function f(){
console.log(scope);
var scope="local";
console.log(scope);
}

4. 作为属性的变量

当使用 var 声明一个变量时,创建的这个属性是不可配置的。如果没有使用 var 给一个变量赋值的话,js 会自动创建一个全局变量。以这种方式创建的变量是可配置属性,并可以删除。

var truevar =1;
fakervar =2;
delete truevar ; //=> false: 变量没有被删除
delete fakervar; //=> true:变量被删除

5. 运算符优先级

标题为 A 的列表式运算符的结合性,L(从左至右)或 R(从右至左),标题为 N 的列表式操作数的个数。 Chart

6. 运算顺序

var a =1; b=(a++)+a; 将如何计算结果?

1)	计算b
2)	计算a++(设为c值     //a=1
3)	计算a               //a=2
4)	计算c+a             //1+2

7. 求余运算

求余运算也叫做模运算,模就是余数。求余运算符的操作数通常都是整数,但是也适用于浮点数,例如: 6.5%2.1结果是0.2

最近的文章

JS 那些你不知道的知识(3)

1. 相等和不等运算符”==”和”===”运算符用于比较两个值是否相等。”===”也成为严格相等运算符(strict equality)(有时也称作恒等运算符(identity equality),它用来检测两个操作数是否严格相等。”==”运算符称作相等运算符(equality operation),它用来检测两个操作数是否相等,这里的相等的定义非常宽松,可以允许进行类型转换。严格相等运算符“===”首先计算其操作数的值,然后比较这两个值,比较过程没有任何类型转换。 如果两个值类型不相同...…

JS继续阅读
更早的文章

JS 那些你不知道的知识(1)

1. 大小写HTML 不区分大小写 onclick=onClick2. 命名变量命名必须是以字母,下划线(_)或者美元符号($)命名的。3. 分号的应用var aa=3console.log(a)会被解析为 var a;a=3;consle.log(a);js 不是在所有换行处补分号的 只有在缺少分号时无法正确解析的时候才会补分号。var y=x+f(a+b).toString()解析为:var y=x+f(a+b).toString()例外:1. 在 break,continue,ret...…

JS继续阅读