JavaScript 高级程序设计 02-变量、数据类型
一、JavaScript变量
1.变量的定义
在定义变量时,统一使用关键字var,后跟变量名(即标识符,如果不知道什么是标识符,可以到这去查看),如下
var message; //定义一个变量
注意:如果没有使用关键字var,就会成为全局变量了
2.变量的类型
//定义多个变量
var message, //没赋值,因此会保留一个特殊的值undefined
num=22, //为number类型
name='jerry', //为string类型
flag=true; //为boolean类型
如果我们要查看一个变量时什么类型,可以使用typeof操作符进行查看变量类型
var message;
alert(typeof message); //undefined
var str='Jerry';
alert(typeof str); //string
var num=123;
alert(typeof str); //bumber
需要注意的是,使用尚未定义的变量是会报错哦
alert(age); //产生错误 alert(typeof age) //却会返回undefined,这个时候我们不要问为什么,嘻嘻
二、JavaScript的数据类型
ECMAScript有5种简单数据类型(基本数据类型):Undefined、Null、Boolean、Number和String
还有一种复杂数据类型--Object
1.Undefined类型
Undefined类型只有一个值,即特殊的undefined。上面有讲过声明变量时,未初始化时,这个变量的值就是undefined
var message;
alert(typeof message); //undefined
2.Null类型
而Null类型是第二个只有一个值的数据类型,它也有一个特殊的值是null。
alert(typeof null);//object
alert(null==undefined)//true
实际上,undefined值是派生自null值的,因此 ECMAScript 把它们定义为相等的。尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其初始化时赋予该变量的值,null 则用于表示尚未存在的对象(typeof 运算符对于 null 值会返回 "Object"。)。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。
3.Boolean类型
Boolean类型只有两个字面值:true和false。
我们要将一个值转换为对应的boolean值,可以调用函数Boolean(),它会返回一个Boolean值
var name='jerry';
var aa='';
alert(Boolean(name)); //true
alert(Boolean(aa)); //false
4.Number类型
var num1=123; //
var num2='123'; //字符串类型'123'
var num3=parseInt('123'); //数字123
var num4=parseInt('123asds'); //
var num5=parseInt('asds421asdas'); //NaN
var num6=parseInt(''); //NaN
var num7=parseInt('0xf') //15(十六进制)
5.String类型
在JavaScript里,String类型作为一个基本数据类型,可以由双引号("")或者单引号('')表示。
var name='jerry';
var firstName="Tom";
var age=11;
alert(age+''); //字符串"11"
alert(age.toString()) //字符串"11"
alert(name+firstName); //"jerryTom"
6.Object类型
ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的类型的名称来创建,也可以使用对象初始化器创建。
var obj=new Object();
var obj1={
name:'jerry',
age:26
};
Object的每个实例都具有以下属性和方法
①构造函数:Object();
②hasOwnProperty(PropertyName):检查给定的属性是否在当前的对象实例中,注:PropertyName必须以字符串给定
③isPrototypeOf(object):检查传递的对象,是否是另一个对象的原型。注:这里牵扯到原型和原型链,所以以后具体在讲,目前大家先知道有这么个方法
④propertyIsEnumerable(PropertyName):检查给定的属性是否能用for-in 语句来枚举。注:PropertyName必须以字符串给定
⑤toLocaleString():返回的字符串与执行环境的地区对应
⑥toString():返回字符串
⑦valueOf():返回对象的字符串、数值或布尔值表示
JavaScript 高级程序设计 02-变量、数据类型的更多相关文章
- 《JavaScript高级程序设计》 -- 变量、作用域和内存问题(二)
1.基本类型与引用类型 基本类型:值保存在变量中 (Number.String.Boolean.Undefined.Null).在内存中占据固定大小空间,被保存在栈内存中 引用类型:值是保存在内存中的 ...
- JavaScript高级程序设计-(3) 变量、作用域和内存问题
传递参数 ECMAScript所有函数参数都是按值传递的,即使对象在函数内部修改了参数的值,原始的引用任然不变,局部对象在函数执行完毕后被销毁
- 《JavaScript高级程序设计》学习笔记(3)——变量、作用域和内存问题
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第四章内容. 1.函数:通过函数可以封装 ...
- JavaScript高级程序设计学习(三)之变量、作用域和内存问题
这次讲的主要是变量,作用域和内存问题. 任何一门编程语言,都涉及这三个. 变量,比如全局变量,局部变量等,作用域,也分全局作用域和方法作用域,内存问题,在java中就涉及到一个垃圾回收的问题,由于ja ...
- 读书笔记(02) - 可维护性 - JavaScript高级程序设计
编写可维护性代码 可维护的代码遵循原则: 可理解性 (方便他人理解) 直观性 (一眼明了) 可适应性 (数据变化无需重写方法) 可扩展性 (应对未来需求扩展,要求较高) 可调试性 (错误处理方便定位) ...
- 读javascript高级程序设计00-目录
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...
- 《JavaScript高级程序设计》读书笔记--前言
起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...
- 阅读摘录《javascript 高级程序设计》01
前言: 因为工作需要,所以开始主攻前台JS方面的技术.在以前的工作中,使用过这门脚本语言.但是都是比较凌乱的,用到什么学什么,只是为了实现业务,而去使用. 不会考虑到代码优化,封装对象等.今次特意借了 ...
- 1 《JavaScript高级程序设计》学习笔记(1)
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 首先,我将从<JavaScript高级程序设计>这本JavaScript学习者必看的经典教 ...
- javascript高级程序设计阅读笔记(一)
javascript高级程序设计阅读笔记(一) 工作之余开发些web应用作为兴趣,在交互方面需要掌握javascript和css.HTML5等技术,因此读书笔记是必要的. javascript简介 J ...
随机推荐
- Android进阶笔记11:ListView篇之ListView显示多种类型的条目(item)
ListView可以显示多种类型的条目布局,这里写显示两种布局的情况,其他类似. 1. 这是MainActivity,MainActivity的布局就是一个ListView,太简单了这里就不写了,直接 ...
- JPA注释,内嵌数据对象
@Data @Embeddable @NoArgsConstructor @AllArgsConstructor @JsonNaming(value = LowerCaseWithUnderscore ...
- Linux 通过 load average 判断服务器负载情况
Linux中load average判断服务器负载情况 转载文章 http://www.111cn.net/sys/linux/56003.htm 写的比较详细,推荐看看.
- [未完成][Mooc]关于IO总结
整个课程的大纲:1.编码问题.2.File类的使用3.RandomAccessFile的使用4.字节流的使用.5.字符流的使用.6.对象的序列化和反序列化. 视频1:文件的编码Eclipse的一大特点 ...
- HTTP状态码解读
1xx:信息 消息 描述 100 Continue 服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求. 101 Switching Protocols 服务器转换协 ...
- HTML5与CSS3基础教程第八版学习笔记7~10章
第七章,CSS构造块 CSS里有控制基本格式的属性(font-size,color),有控制布局的属性(position,float),还有决定访问者打印时在哪里换页的打印控制元素.CSS还有很多控制 ...
- Apache Commons 简述
Apache Commons 是一个关注于可复用的 Java 组件的 Apache 项目.Apache Commons 由三部分构成: Commons Proper - 一个可复用的 Java 组件库 ...
- ASP.NET二级域名站点共享Session状态
我的前面一篇文章提到了如何在使用了ASP.NET form authentication的二级站点之间共享登陆状态, http://www.cnblogs.com/jzywh/archive/2007 ...
- 使用subst创建虚拟磁盘及设置分区卷标
最近项目中要研究在"计算机"中添加虚拟磁盘,能够访问某远端目录,同时还要在资源管理器中可以看到创建的虚拟磁盘.关于虚拟磁盘,有几种方式: (1)映射网络磁盘:通过映射网络驱动器,可 ...
- win2003域控制器密码遗忘如何修改
在公司遇到这么个事儿,员工搭建QC服务器,设置了域账户登陆系统.但忘记了登录密码,使用PE直接修改sam文件不好用. 1.使用PE进系统修改组登陆方式的账号administrator密码 需符合复 ...