Javascript中的五种数据类型详解
Undefined
未定义。只有一个值undefined
Null
只有一个值,null
Boolean
在javascript中,只要逻辑表达式不返回undefined不返回null,就都是真的。
if(3) true if(null) false if(undefined) false
Number
String
javascript中不存在char类型。
字符串定义可以用单引号,也可以用双引号。
<html> <head> <script type="text/javascript"> //var s="hello"; //alert(typeof s);//s是字符串类型var s=new String("hello");//s 是对象类型 alert(typeof s); </script> </head> <body> </body> </html>
typeof 是一个一元运算符,用来获得变量的数据类型
其返回值有五个 undefined,boolean,number,string以及object.
其中前面四个都好理解。而最后一个object是让程序员无从判断的,只笼统的返回了object
在javascript中,如果函数没有声明返回值,那么会默认返回undefined。
如果声明了返回值,那么实际返回什么就是什么。
undefined从null派生,所以比较时返回true
alert(undefined==null);//true
强制类型转换
在javascript中,有三种强制类型转换:
Boolean(value)
Number(value)
String(value)
<html> <head> <script type="text/javascript"> var num=Number(3); alert(num); var s="hello"; alert(Boolean(s)); var s1=String("hello"); alert(typeof s1); var obj=new String("hello");//这不是强制类型转换! alert(typeof obj); </script> </head> <body> </body> </html>
在javascript中,所有的对象都继承自Object对象。
用new 的方式生成。
js中有些方法是可以枚举出来的,有些是不行的。
用js内置方法可以判断,是否可以枚举出来。
<html> <head> <script type="text/javascript"> var object=new Object(); for(var v in object){ console.log(v); } alert(object.propertyIsEnumerable("prototype"));//返回了false,表示没有可以枚举的属性,也意味着子对象相应的属性也是不可以枚举的 </script> </head> <body> </body> </html>
枚举自定义类型的属性
<html> <head> <script type="text/javascript"> var member=function(name,age){ this.name=name; this.age=age; } var m=new member("liudh",50); for(var v in m){ console.log(v); //name //age } alert(m.propertyIsEnumerable("prototype"));//false //for(var v in window){ // console.log(v); //} </script> </head> <body> </body> </html>
Javascript的闭包详解
前言:还是一篇入门文章。Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包对于那些使用传统静态语言C/C++的程序员来说是
浅谈JavaScript实现面向对象中的类
对象,是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。--
浅谈JavaScript函数节流
浏览器中某些计算和处理要比其他的昂贵的多。例如,DOM操作比起非DOM交互需要更多的内存和CPU时间。连续尝试进行过多的DOM相关操作可能会导致浏览
标签:类型,对象,可以用,返回值,属性