宇泽的博客
-
(原创翻译)JS中的判断为真与相等(Truth, Equalit and JavaScript)--补充
2013-04-15 20:30阅读全文补充一下我的前一篇文章(原创翻译)JS中的判断为真与相等(Truth, Equalit and JavaScript)。
文中其他地方都好理解,主要是当
object
与其他类型做==
,+
等操作时,强制转换类型时调用的toPrimitive
方法多多少少会让人比较迷惑。我又翻阅了另一篇资料http://www.adequatelygood.com/Object-to-Primitive-Conversions-in-JavaScript.html
中间详细讲解了
toPrimitive
的运作过程。我在这里就凭自己的理解总结下,有兴趣的朋友可以去原文中阅读更多内容。
(另外不得不吐槽下,JS真的是一门很神奇的语言,是那么的灵活,那么的吸引人…但同时也是那么的蛋疼。)
-
(原创翻译)JS中的判断为真与相等(Truth, Equalit and JavaScript)
2013-04-13 20:33阅读全文以前也碰到过几次
if(x)
的时候出现预想外的错误,也翻看过许多相关资料,但是一直印象不深。今天又碰到
if({})
为true的问题,找到一篇深入介绍JS中判断相等判断true原理的文章,正好闲来无事,就动手翻译一下吧。一是加深印象,而是练练英语。翻译的不好,大家将就看哈,实在觉得我的表达看不懂的可以参考原文! -
JS之传递对象
2013-03-05 12:15阅读全文今天碰到一个小问题,卡了我好一会,查了下资料,发现一个以前没注意到的地方!问题如下:
var a = {'a':'b'} var b= a; delete(b['a']) console.log(a);// 输出{}!
这当然不是我想要的结果,查阅了资料,发现了这么一个很基础的东东:
JS中分为两种类型:
- 基本类型(包括undefined,Null,boolean,String,Number),按值传递;
- 引用类型(包括数组,对象–当然了数组本身就是对象),按址传递,引用类型在值传递的时候是内存中的地址;