摘要:中的对象其实就是一组数据和功能的集合。对象可以通过执行操作符后跟要创建的对象类型的名称来创建。而创建类型的实例并为其添加属性和或方法,就可以创建自定义对象,如下所示
数据类型
ECMAscript有五种简单数据类型:Undefined,Null,Boolean,String,Number,还有一种复杂数据类型Object,Object本质上是由一组无序的名值组成的.
1.UndefinedUndefined类型只有一个值,undefined.使用var声明变量但未对其初始化时,这个变量的值就是undefined.
2.NullNull只有一个值,null.
如果定义的变量准备在将来保存变量,那么最好将该变量初始化为null值,这样只要直接检查null值就可以知道相应变量是否已经保存了一个对象的引用.例如:
if (car != null){
//执行某些操作
}
Boolean类型有两个值true和false
要将一个值转换为Boolean类型,可以调用转型函数Boolean():
var word = "hello world";
var boolWord = Boolean(word);
数据类型 转换为true的值 转换为false的值
String 任何非空字符串 ""(空字符串)
Number 任何非0数值 0和NaN
Object 任何对象 null
Undefined n/a undefined
由于保存浮点数值的内存空间的数值是整数数值的两倍,因此ECMAscript会不失时机的将浮点数值转换为整数值.
如果小数点后面没有任何数字,就按整数保存,如果浮点数值本身表示得就是一个整数,那么就按整数保存(如1.0).
浮点数值最高精度是17位小数,但在算数计算时精度却不如整数.例如
if(a+b==0.3){
//不能这样!!! alert("0.3");
};
关于浮点数值计算会产生舍入误差的问题,有一点需要明确:这是使用基于 IEEE754 数值的浮点计算的通病
[Number_MIN_VALUE,Number_MAX_VALUE]
在大多数浏览器中,这两个值是[5e-324, 1.7976931348623157e+308]
如果得到超出js的值,那么这个值会被转换为 -/= Infifity
如果某次计算的的返回正或者负的Infinity值,那么该值无法参与下一次计算.
即Not a Number
这个数值用来表示一个要返回数值的操作数未返回数值的情况,这样就不会抛出错误了.
任何涉及NaN的操作都会返回NaN(如NaN/10)
NaN与任何值都不相等,包括NaN
isNaN();
任何不能转换为数值的都返回true
alert(isNaN(NaN)); //true
alert(isNaN(10)); //false(10是一个数值)
alert(isNaN("10")); //false(可以被转换成数值 10)
alert(isNaN("blue")); //true(不能转换成数值)
alert(isNaN(true)); //false(可以被转换成数值 1)
有三个函数可以把非数值转换为数值
Number();//可以把任何类型转换为数值
//下面两个只能把字符串转换为数值
parseInt() ;
parseFloat();
Number()转换规则
Boolean: true -> 1 false -> 0
null: 0
undefined: NaN
如果是字符串:
如果只包含数字 将其转换为十进制数字 011 -> 11 1.1->1.1 01.1 -> 1.1 空字符串 -> 0 其他字符 -> NaN
如果是对象:
则调用对象的 valueOf()方法,然后依照前面的规则转换返回的值。如果转换 的结果是 NaN,则调用对象的 toString()方法,然后再次依照前面的规则转换返回的字符 串值5.String
字符串可以由双引号或者单引号表示
字符串一旦创建,它的值就不能改变.要改变某个变量保存的字符串,首先要销毁原来字符串,再用一个包含新值的字符串填充该变量:
var lang ="hello";
var hd = lang + "world";
toString();
String();
var a =111;
a.toString();
多数情况下调用toStiring不用传递参数,但在调用数值的toString()方法时,可以传递一个参数:
var num = 10;
alert(num.toString());//10
alert(num.toString(2));//1010 2进制
在不知道转换的值是不是null或者undefined的情况下,还可以使用转型函数String();
如果值有toString()方法,则调用toString() 如果值是null,则返回"null" 如果值是undefined,则返回"undefined" var value = 10; alert(String(value));//"10"要把某个值转换为字符串,可以使用加号操作符(3.5 节讨论)把它与一个字符 串("")加在一起。 6.Object
ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行 new 操作符后跟要创建 的对象类型的名称来创建。而创建 Object 类型的实例并为其添加属性和(或)方法,就可以创建自定 义对象,如下所示:
var o = new Object();
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/94483.html
摘要:从现在开始,养成写技术博客的习惯,或许可以在你的职业生涯发挥着不可忽略的作用。如果想了解更多优秀的前端资料,建议收藏下前端英文网站汇总这个网站,收录了国外一些优质的博客及其视频资料。 前言 写文章是一个短期收益少,长期收益很大的一件事情,人们总是高估短期收益,低估长期收益。往往是很多人坚持不下来,特别是写文章的初期,刚写完文章没有人阅读会有一种挫败感,影响了后期创作。 从某种意义上说,...
摘要:入门,第一个这是一门很新的语言,年前后正式公布,算起来是比较年轻的编程语言了,更重要的是它是面向程序员的函数式编程语言,它的代码运行在之上。它通过编辑类工具,带来了先进的编辑体验,增强了语言服务。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不觉已经到来了,总结过去的 2017,相信小伙们一定有很多收获...
摘要:入门,第一个这是一门很新的语言,年前后正式公布,算起来是比较年轻的编程语言了,更重要的是它是面向程序员的函数式编程语言,它的代码运行在之上。它通过编辑类工具,带来了先进的编辑体验,增强了语言服务。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不觉已经到来了,总结过去的 2017,相信小伙们一定有很多收获...
摘要:入门,第一个这是一门很新的语言,年前后正式公布,算起来是比较年轻的编程语言了,更重要的是它是面向程序员的函数式编程语言,它的代码运行在之上。它通过编辑类工具,带来了先进的编辑体验,增强了语言服务。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不觉已经到来了,总结过去的 2017,相信小伙们一定有很多收获...
阅读 1909·2021-11-24 09:39
阅读 3219·2021-09-22 14:58
阅读 1120·2019-08-30 15:54
阅读 3285·2019-08-29 11:33
阅读 1752·2019-08-26 13:54
阅读 1559·2019-08-26 13:35
阅读 2447·2019-08-23 18:14
阅读 734·2019-08-23 17:04