最近忙于找房子,同时私人感情问题,所以这篇文章有点强差人意,没有之前那样的详细讲解,请原谅我的不敬业。不过写完这篇基础文章过后,以后大概会写一些实际应用的例子,例如相册的制作,HTML5小游戏的制作,还有本人最近在学习Node.js服务器的开发,也希望多分享新技术的开发心得。
关于js里面的几个方法,对于不同类型的变量,得出的结果往往有点混乱,所以今天就写了一个简单的测试脚本,输出一下每个函数对于各种不同类型的变量输出的结果。这次就不做详细分析了,大家可以结合结果做一下总结,有些特殊情况可能也总结得不尽完善,欢迎大家补充宝贵意见。直接贴出测试代码:
1 //数字 2 var n = 123; 3 //字符串 4 var s = "hello world!"; 5 //json对象 6 var o = {x:10, y:20}; 7 //数组 8 var r = [0, 1, 2, 3]; 9 //函数 10 var f = function (x, y) { 11 this.x = x; 12 this.y = y; 13 } 14 var point = new f(10, 20); 15 var none = undefined; //null和undefined没有下面这些方法。 但可以通过String(none)得到null或者undefined值 16 //toString()的值, 17 console.log(n.toString());//为数字的字符串表示 18 console.log(s.toString());//为字符串自身 19 console.log(o.toString());//[object Object] 20 console.log(r.toString());//相当于r.join(','),用逗号分隔 21 console.log(f.toString());//函数的定义方式 22 console.log(point.toString());//[object Object] 23 console.log(String(none));//undefined 24 //valueOf()的值 25 console.log(n.valueOf());//数字自身 26 console.log(s.valueOf());//字符串自身 27 console.log(o.valueOf());//json对象自身 28 console.log(r.valueOf());//数组自身 29 console.log(f.valueOf());//函数体 30 console.log(point.valueOf());//一个f实例化对象 31 //constructor的值 32 console.log(n.constructor == Number);//true 33 console.log(s.constructor == String);//true 34 console.log(o.constructor == Object);//true 35 console.log(r.constructor == Array);//true 36 console.log(f.constructor == Function);//true 37 console.log(point.constructor == f);//true 38 console.log(point.constructor == Object);//flase 39 //typeof 40 console.log(typeof n);//number 41 console.log(typeof s);//string 42 console.log(typeof o);//object 43 console.log(typeof r);//object 44 console.log(typeof f);//function 45 console.log(typeof point);//object 46 console.log(typeof none);//undefined 47 //instanceof 48 console.log(n instanceof Number);//false 49 console.log(n instanceof Object);//false 50 console.log(s instanceof String);//false 51 console.log(s instanceof Object);//false 52 console.log(o instanceof Object);//true 53 console.log(r instanceof Array);//true 54 console.log(r instanceof Object);//true 55 console.log(f instanceof Function);//true 56 console.log(f instanceof Object);//true 57 console.log(point instanceof Function);//false 58 console.log(point instanceof Object);//true 59 console.log(Object instanceof Function);//true 60 console.log(Function instanceof Object);//true