日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript tips and tricks - 4

發布時間:2025/4/5 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript tips and tricks - 4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript doesn’t have block scope
Block doesn’t have scope in javascript, only function has scope.

for(var i = 0; i < 2; i ++) { } i; // 2

If you want to create scope, use anonymous function:

(function (){ for(var i = 0; i < 2; i ++) { } })(); typeof(i) === 'undefined'; // true

NaN is weird
NaN indentifies a value which is not a number.
It’s weird because comparing NaN with anything (even NaN itself) is always false.

NaN === NaN; // false

Therefore, the following code may confuse somebody:

parseInt('hello', 10); // NaN parseInt('hello', 10) == NaN; // false parseInt('hello', 10) === NaN; // false

Then, how to check whether a number is NaN or not?
A?built-in function can help you, check it:

isNaN(parseInt('hello', 10)); // true

Truthy and falsy values
All values in javascript can be converted into boolean implied.
Note that?the following values can be converted into false ones automatically, which called falsy values:
null, undefined, NaN, 0, ‘’, false
Therefore you don’t need to do like this:

if(obj === undefined || obj === null) { }

Simply do as follows:

if(!obj) { }

How to modify arguments
In this post , I give a method to convert arguments into a real array.
Then, how to modify arguments?
For example, add a new value to the end of the arguments:

function add() { arguments.push('new value'); } add(); // error - arguments.push is not a function

Of course there?would be an error, because arguments is not a real array.
Following is the solution:

function add() { Array.prototype.push.call(arguments, 'new value'); return arguments; } add()[0]; // "new value"

Boolean and new Boolean
You’d better consider Boolean as a constructor function. It can be used to produce a Boolean literal value:

Boolean(false) === false; // true Boolean('') === false; // true

Boolean(0) is equal to !!0, which was mentioned in this post.
Also, we can use new keyword to produce a boolean object:

new Boolean(false) === false; // false new Boolean(false) == false; // true typeof(new Boolean(false)); // "object" typeof(Boolean(false)); // "boolean"

This is interesting.

總結

以上是生活随笔為你收集整理的JavaScript tips and tricks - 4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。