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

JavaScript学习10 JS数据类型、强制类型转换和对象属性的更多相关文章

  1. JavaScript学习笔记——2.数据类型与类型转换

    数据类型 JS中一共分成六种数据类型 1- String 字符串 2- Number 数值 3- Boolean 布尔值 4- Null 空值 5- Undefined 未定义 6- Object 对 ...

  2. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

  3. JavaScript学习06 JS事件对象

    JavaScript学习06 JS事件对象 事件对象:当事件发生时,浏览器自动建立该对象,并包含该事件的类型.鼠标坐标等. 事件对象的属性:格式:event.属性. 一些说明: event代表事件的状 ...

  4. JavaScript学习03 JS函数

    JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...

  5. JS中强制类型转换

    JavaScript提供了3种强制类型转换的方法 一.Boolean()方法 该方法将指定的参数转换成布尔型.Boolean(object).参数object可以是字符串对象.数值对象.DOM对象等. ...

  6. Javascript学习8 - 脚本化文档(Document对象)

    原文:Javascript学习8 - 脚本化文档(Document对象) 每个Web浏览器窗口(或帧)显示一个HTML文档,表示这个窗口的Window对象有一个document属性,它引用了一个Doc ...

  7. javascript学习3、数据类型、数据类型转换、运算符

    数据类型包括:基本数据类型和引用数据类型 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值 ...

  8. JavaScript学习 - 基础(二) - 基础类型/类型转换

    基础类型 - 数字类型(Number) 1.最基本的数据类型 2.不区分整型数值和浮点型数值 3.所有数字采用64位浮点格式存储,相当于Java和C语言中double格式 4.能表示的最大值 +- 1 ...

  9. 【Python系统学习02】数据类型与类型转换

    一.数据类型 字符串 整数 浮点数 [补充中...] 1.字符串 str 字符串:英文string,简写str. name = '小石头:' print(name,'2019', '12', '24' ...

随机推荐

  1. Azure REST API (2) Azure Storage

    <Windows Azure Platform 系列文章目录> 注意:本文适用于国内由世纪互联运维的Azure China. 本文将会介绍如何使用REST API来直接访问Storage ...

  2. [Logstash-input-redis] 使用详解

    redis插件的完整配置 input { redis { batch_count => 1 #返回的事件数量,此属性仅在list模式下起作用. data_type => "lis ...

  3. LINQ的Intersect方法

    找到两个集合中交集部分: source code: IEnumerable<int> a = new List<int>{ { }, { }, { } }; IEnumerab ...

  4. C#进行Visio二次开发之文件导出及另存Web页面

    在我前面很多关于Visio的开发过程中,介绍了各种Visio的C#开发应用场景,包括对Visio的文档.模具文档.形状.属性数据.各种事件等相关的基础处理,以及Visio本身的整体项目应用,虽然时间过 ...

  5. 在DevExpress中使用WizardControl控件构建多步向导界面

    利用好的界面控件,往往能做成比较界面体验效果.在一些界面操作里面,我们可能把它拆分为几部进行处理,这个时候引入WizardControl向导控件应该是比较不错的选择了.多步的处理方式,可以让用户避免一 ...

  6. WinPhone学习笔记(四)——磁贴

    对每个Windows Phone的使用者来说,给他们的第一印象就是大大小小的磁贴——Metro,本篇介绍的是Windows Phone的磁贴,提到的有开始菜单的磁贴,也有在App里面的磁贴. 开始菜单 ...

  7. jQuery 3.0正式发布

    jQuery 基金会刚刚发布了该 JavaScript 框架的 3.0 版本,并且首次抛弃了对老旧的 IE 浏览器的支持.jQuery 3.0 的工作始于 2014 年 10 月,其最初目标是在 2. ...

  8. Android事件处理机制

    包括监听和回调两种机制. 1. 基于监听的事件处理: 事件监听包含三类对象,事件源,事件,事件监听器.Android的事件处理机制是一种委派式(Delegation)事件处理方式:普通组件(事件源)将 ...

  9. Atitit 编程语言原理与概论attilax总结

    Atitit 编程语言原理与概论attilax总结 1. 语言的分类1 2. 语言评价标准1 3. 编程语言原理(第10版) 目录: 2 4. 代码之髓:编程语言核心概念2 5. <编程语言实现 ...

  10. 矩阵乘法&矩阵快速幂&矩阵快速幂解决线性递推式

    矩阵乘法,顾名思义矩阵与矩阵相乘, 两矩阵可相乘的前提:第一个矩阵的行与第二个矩阵的列相等 相乘原则: a b     *     A B   =   a*A+b*C  a*c+b*D c d     ...