JavaScript学习10 JS数据类型、强制类型转换和对象属性
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数据类型、强制类型转换和对象属性的更多相关文章
- JavaScript学习笔记——2.数据类型与类型转换
数据类型 JS中一共分成六种数据类型 1- String 字符串 2- Number 数值 3- Boolean 布尔值 4- Null 空值 5- Undefined 未定义 6- Object 对 ...
- JavaScript学习12 JS中定义对象的几种方式
JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...
- JavaScript学习06 JS事件对象
JavaScript学习06 JS事件对象 事件对象:当事件发生时,浏览器自动建立该对象,并包含该事件的类型.鼠标坐标等. 事件对象的属性:格式:event.属性. 一些说明: event代表事件的状 ...
- JavaScript学习03 JS函数
JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...
- JS中强制类型转换
JavaScript提供了3种强制类型转换的方法 一.Boolean()方法 该方法将指定的参数转换成布尔型.Boolean(object).参数object可以是字符串对象.数值对象.DOM对象等. ...
- Javascript学习8 - 脚本化文档(Document对象)
原文:Javascript学习8 - 脚本化文档(Document对象) 每个Web浏览器窗口(或帧)显示一个HTML文档,表示这个窗口的Window对象有一个document属性,它引用了一个Doc ...
- javascript学习3、数据类型、数据类型转换、运算符
数据类型包括:基本数据类型和引用数据类型 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值 ...
- JavaScript学习 - 基础(二) - 基础类型/类型转换
基础类型 - 数字类型(Number) 1.最基本的数据类型 2.不区分整型数值和浮点型数值 3.所有数字采用64位浮点格式存储,相当于Java和C语言中double格式 4.能表示的最大值 +- 1 ...
- 【Python系统学习02】数据类型与类型转换
一.数据类型 字符串 整数 浮点数 [补充中...] 1.字符串 str 字符串:英文string,简写str. name = '小石头:' print(name,'2019', '12', '24' ...
随机推荐
- SQL Server在执行SQL语句时,表之间驱动顺序对性能的影响
环境:SQL Server2012 SP3 企业版,开发服务器,并没有什么负载,全库索引统一Rebuild过 经反复执行验证过, 不算太复杂的SQL(存储过程中代入参数抠出来的SQL代码) 默认情况下 ...
- java类加载器-前序
前序 前几天,一个人经常在QQ群里问一些java热更新的知识.后来他实现了热更新,但是还是遇到各种问题.我给他做了解答,并看了下他写的类加载器,他的实现大概是这样子的: (问我此问题的网友,如果你看到 ...
- 玩爽了!直接在Chrome里抓取数据
一个小测试发现可以自动做题,于是想通过脚本的方式看能不能获取相应的题库,刚好可以学习一下JS异步操作.花了一天时间,总算跑顺利了,遇到了不少坑.记录下来分享. 1.JS如何顺序执行 JS有强大的异步操 ...
- 【转载】Lucene.Net无障碍学习和使用:搜索篇
在上一篇中,我们初步理解了索引的增删改查基本操作.本文着重介绍一下常用的搜索,以及搜索结果的排序和分页.本文的搜索主要是基于前一篇介绍的文本文件的索引,建议下载最后改进的demo对照着看阅读本文,同时 ...
- WCF双工通讯以及客户端间的间接通讯
由于学习计划安排不当,对WCF的认知一直停滞不前,最近工作上又用回了WCF,重拾一下,看到蒋老师介绍双工通讯的博文,实践一下,积累一下.原想着WCF的双工通讯就是原本的客户端能调用服务端的方法之余,服 ...
- C# winform控件之listview学习积累
//1.用key给ListViewItem 的 SubItems赋值 ListViewItem listViewItem= listView1.Items.Add("第一列文字") ...
- Linq和Lamda表达式的简单处理方式
一 什么是LINQ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. ...
- Tomcat Server Timeouts属性的设置
在启动Tomcat Server时,经常会出现启动时间过长的错误,如下图所示(为了方便截图,Start Timeout被设置为5秒钟,一般为45秒钟). 双击Tomcat v7.0 Server at ...
- 【FOL】万里长征第一步
准备了好久了,中间断断续续看了些资料,也写了几个小demo练手,今天正式开始. 因为要模拟debug和release环境,手上资源又很缺,必须把一些已经拼好的图片进行切割,网络上找了半天倒是有几个切图 ...
- 【JAVA并发编程实战】2、对象的组合
1. 设计线程安全的类 1.找出构成对象状态的所有变量 2.找出约束状态变量的不变性条件 3.建立对象状态的并发访问管理策略 package cn.xf.cp.ch04; /** * *功能:JAVA ...