JavaScript学习10 JS数据类型、强制类型转换和对象属性
2014-04-28 14:33
791 查看
JavaScript学习10 JS数据类型、强制类型转换和对象属性
JavaScript数据类型
JavaScript中有五种原始数据类型:Undefined、Null、Boolean、Number以及String。Undefined数据类型的值只有一个:undefined。
在JavaScript中,如果函数没有声明返回值,那么会返回undefined。(后面有实例)。
如果typeof后面跟一个未定义的参数,也是返回undefined。
Null数据类型的值只有一个:null。
null与undefined的关系:undefined实际上是从null派生出来的。
所以:
alert(undefined == null);
弹框显示true。
Boolean数据类型的值有两个:true和false。
var s = false; //声明了一个布尔值false
字符串String类型,用单引号或者双引号都可以。
JavaScript中没有char数据类型。
typeof运算符
typeof是一元运算符,后跟变量的名称,用于获取变量的数据类型,其返回值有5个:undefined、boolean、number、string以及object。var s = "hello"; // s是原始类型 alert(typeof s) //输出:string
另一种方式:
var s = new String("hello"); //s是对象类型 alert(typeof s) //输出:object
对象类型的基类是Object(很像Java),所以typeof判断出是对象类型之后不再具体说明其到底是何种对象类型。
var s = false; alert(typeof s); //输出boolean var s = 3; alert(typeof s) //输出number
函数无返回值的情况
在JavaScript中,如果函数没有声明返回值,那么会返回undefined。function add() { return;//或者干脆不写return } alert(add()); //弹框显示undefined
强制类型转换
强制类型转换:在JavaScript中有3种强制类型转换:Boolean(value),Number(value),String(value)。
比较常规的:
var s = Number(3); alert(s);
转换成布尔值:
var s = Boolean("hello"); alert(s); //显示true
var s = String("hello"); //注意此处没有关键字new,表示强制类型转换 alert(typeof s);//输出string //如果加上new则会输出object
注意:强制类型转换前面是没有new这个关键字的。
对象的属性
在JavaScript中,所有对象都是从Object对象继承过来的。Object中的属性是不可枚举的(propertyIsEnumerable返回false),因此无法
通过for…in语句得到其中的属性。
var object = new Object(); for(var v in object) { alert(v); } //没有弹框,因为没有可枚举的属性 alert(object.propertyIsEnumerable("prototype"));//返回false
动态管理属性
在JavaScript中,可以动态添加对象的属性,也可以动态删除对象的属性。
var object = new Object(); alert(object.username); //undefined //添加属性 object["username"] = "shengsiyuan"; //object.username= "shengsiyuan"; //两种方式都可以动态添加属性username alert(object.username); //显示定义的name属性 //删除属性 delete object.username; // username属性已经从object对象中删除 alert(object.username);//undefined
定义对象的另一种方式:
以属性来定义对象:
// 在JavaScript中定义对象的最常见的方式 var object = {username: "zhangsan", password: 123}; alert(object.username); alert(object.password);
参考资料
圣思园张龙老师Java Web视频教程。W3School JavaScript教程:http://www.w3school.com.cn/js/index.asp
英文版:http://www.w3schools.com/js/default.asp
相关文章推荐
- eXtremeComponents(简称ec)是一系列提供高级显示的开源JSP定制标签
- Using setJavaScriptEnabled can Introduce XSS Vulnerabilities into&
- loadrunner 发送gzip压缩json格式
- js字符串函数
- 【JavaScript】使用定时器实现Js的延期执行或重复执行setTimeout,setInterval
- js 中map的几种实现方式
- javascript 判断身份证的正确性
- js 全排列算法
- js中获取时间new Date()详细介绍
- JS校验身份证号码
- 分享个用JavaScript制作的简单图片展播代码
- JSON.parse: bad control character in string literal
- Extjs的FileUploadField文件上传解决方案
- xml json 数据封装 传递(序列化) 解析
- fieldset实现下订单的分页效果(js+css+html)
- javascript设计模式
- 【JavaScript】使用定时器实现Js的延期执行或重复执行setTimeout,setInterval
- 推荐几个web中常用js图表插件
- js 中中括号,大括号使用详解
- JS定时刷新页面及跳转页面