JS学习笔记-数据类型
最初的JS学习已经过去大半年的时间了,至此感觉对JS的使用与理解并非非常深入,因此在近期的工作之余也開始了新一轮的JS学习。
几天时间过去了,对于一些基础内容的学习还是非常有必要的,就从今天的又一次整理開始吧。
对于JavaScript数据类型。開始并没有全面的认识,仅仅是简单的使用varkeyword来定义变量。如今了解到使用var声明变量的方法是JavaScript的语言核心ECMAScript为JS定义的,尽管可任意改变该变量的值,不考虑其数据类型,但这就带来了后期维护的困难,以及性能不高、成本非常高的问题。
这样看来使用var任意声明变量有利也有弊了。
ECMAScript中定义了六种数据类型:Undefined、Null、Boolean、Number、String、Object(注意JavaScript是区分大写和小写的。类型的首字母都要求大写,这与后面介绍的类型值是不同的),不支持不论什么创建自己定义类型机制,全部值都会是以上六种数据类型之中的一个。
以下我们分别来看。
一、Undefined
该类型仅仅有一个值undefined,当变量声明后但没有对其进行初始化时,则该变量的值为undefined。未初始化的变量自己主动赋值为undefined。
var box;
alert(box); //弹窗显示undefined值
二、Null
值为null,表示空对象的引用。若定义变量用于存储对象,则可初始化为null值。在进行推断变量是否指向对象时可用null值进行等值比較。
与值undefined的关系:undefined继承于null值。ECMA规范中规定仅仅定义未初始化的undefined值与运行空对象引用的null值是相等的,思考下,两个变量值都表示为空,比較时可理解为相等。但各自的类型还是不能混为一谈的。
三、Boolean
拥有true和false两个值,但其它各类型都可显式或隐士的转换为该类型值,以用作if条件推断或者其它,这里仅仅介绍转换规则
四、Number
包括整型和浮点型,输入数值字面量可分为几种格式:十进制、十六进制(以0x开头)、八进制(以0开头),而二进制表示则可採用通用的方法parseInt("****",2)。输出数据时则会默认显示为十进制数。
其它值:Infinity(正无穷)及-Infinity(负无穷);NaN值(Not
a Number)。
转型:
Number():可用于不论什么数据类型
alert(Number(true));//1,Boolean 类型的 true 和 false 分别转换成 1 和 0
alert(Number(25));//25。数值型直接返回
alert(Number(null));//0。空对象返回 0
alert(Number(undefined));//NaN。undefined 返回 NaN
alert(Number('')); //字符串为空,转为0
parseInt():字符串转整型、parseFloat():字符串转浮点型
alert(parsetInt('456Lee'));//456。会返回整数部分
alert(parsetInt('Lee456Lee'));//NaN,假设第一个不是数值,就返回 NaN
alert(parseInt('12Lee56Lee'));//12,从第一数值開始取。到最后一个连续数值结束
alert(parseInt('56.12'));//56,小数点不是数值,会被去掉
alert(parseInt(''));//NaN,空返回 NaN
五、String
用于表示由零个或多个16位Unicode字符表示的字符串序列。
转型:
toString()方法可将其它类型值转换为字符串,參数可选(转换数值时,可加入进制类型)
String()方法,可将不论什么类型的值转为字符串,即使是null或undefined的情况
六、Object
对象的概念在此不再多讲。后面对专门探讨。创建的方式有两种:
var box = new Object();
var box = {};
小结:
对于数据类型的学习,曾经并没有太过于重视,仅仅是懂了简单的应用,如今学习起来这部分的内容还是感觉有非常多须要值得推敲的部分。比方数据类型之间的转换,数据存储的优化等都会对程序实现起到非常关键的数据,所以多深入一些基础方面的东西还是非常有必要的。
JS学习笔记-数据类型的更多相关文章
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- 2019-4-29 js学习笔记
js学习笔记一:js数据类型 1:基本数据类型 number类型(整数,小数) String类型 boolean类型 NaN类型其实是一个nu ...
- 基于jquery的插件turn.js学习笔记
基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)
WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...
- WebGL three.js学习笔记 创建three.js代码的基本框架
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...
- vue.js 学习笔记3——TypeScript
目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...
随机推荐
- web.xml中Filter过滤器标签说明
原文:http://www.cnblogs.com/edwardlauxh/archive/2010/03/11/1918618.html 在研究liferay框架中看到Web.xml中加入了过滤器的 ...
- C#-单元测试知识点
指的是软件中对最小单元进行测试的一种测试方法 开发阶段的测试发现问题并解决问题是最节省时间和成本 Ctrl+R Ctrl+A 自动化执行单元测试 查看代码覆盖率,通常要达到80,90%的代码测试覆盖率 ...
- Java7的那些新特性
本文介绍的java 7新特性很多其它的感觉像是语法糖.毕竟java本身已经比較完好了.不完好的非常多比較难实现或者是依赖于某些底层(比如操作系统)的功能. 不过java7也实现了类似aio的强大功能. ...
- Android Touch事件传递机制全面解析(从WMS到View树)
转眼间近一年没更新博客了,工作一忙起来.非常难有时间来写博客了,因为如今也在从事Android开发相关的工作,因此以后的博文也会很多其它地专注于这一块. 这篇文章准备从源代码层面为大家带来Touch事 ...
- java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol
java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol 完整错误信息: org.dom4j.Document ...
- jquery 函数的定义
var ss_login = { ptjy : function(method) { CloseAlert(); if( getLocalData("ActivePTJYUser" ...
- matplotlib 可视化 —— matplotlib.patches
官方帮助文档 patches - Matplotlib 1.5.1 documentation patches 下主要包含的常用图形类有: Eclipse Circle Wedge 1. plt.gc ...
- IMP-00010: 不是有效的导出文件,标题验证失败
IMP-00010: 不是有效的导出文件,标题验证失败 IMP-00000: 未成功终止导入 在google上查找了一下,大概有两种情况: 1.imp/exp的版本不对,也就是说低版本的导出,可以 ...
- vs2015汉化
VS2015汉化 VS2015安装打开后默认是英文的,将它改成中文的VS 1.安装下载好的语言包进行安装 2.正在安装 3.安装完成后关闭 4.打开VS2015默认不是中文的,点击Tools--> ...
- win-visualviewport-space
html.win-hoverable <div class="win-visualviewport-space"></div> <section cl ...