JS基本类型特性总结
本文代码测试环境: win7 32位,chrome 版本如下:
一,JS基本数据类型:Undefined, Null, Boolean, Number, String, Object六种。
1,Undefined:: 该类型只有一个值:undefined.
1) 一个变量声明但未初始化,值就是 undefined,注意大小写。
e.g:
var msg;
alert(msg); //undefined
2) 一个变量未声明,直接使用会报错,
e.g::
alert(newMsg); //Uncaught ReferenceError: newMsg is not defined
注意:它们调用 typeof 都返回 undefined.
2,Null:该类型只有一个值:null,它是一个空对象指针。
1) typeof(null) 会返回 "object"
2) undefined是从null继承,所以 alert(null == undefined) 返回true.
3,Boolean:只有两个值:true, false 注意全是小写。
内置函数:Boolean() :将指定值转换成布尔值。转换规则以示例给出:
1)Boolean(null); // false
2) Boolean(""); // false Boolean("hello,world"); //true
3) Boolean(undefined); // false
4) Boolean(0); // false Boolean(1);//true Boolean(071); //8进制,true
4,Number: 数值型,包括整型和浮点型。
内置函数:Number(), parseInt(), parseFloat(). isFinite(); isNaN();
其中 parseInt()用于将字符串转换为整型,并可以指定进制。parseFloat()仅针对十进制进行转换。
例子:
1)parseInt(011); // 9,自动识别为8进制,并转换为10进制。
parseInt(11, 8); // 9 ,指定11为8进制数,然后转换为10进制。
parseInt("af", 16); 或 parseInt("0xaf"); // 175 ,都是16进制。
parseInt("af"); // NaN,注意,NaN也是Number类型,typeof 返回 number。
alert(NaN == NaN); //false,NaN和任何值都不相等。
alert(10/0);// Infinity。无穷大。
alert(Number.MAX_VALUE); //最大值, 1.797E308
alert(Number.NEGATIVE_INFINITY);// -infinity 负无穷大。
ifFinite(10/0); // false,说明不是有穷的。
var a=0.1, b =0.2; alert(a+b); //0.300000000000004
alert(a+b == 0.3); // false,浮点计算的误差,基于IEEE754的浮点计算都有此问题。
5,String 类型:
内置函数:toString();
e.g:
1) alert("abc" == "abc"); // true
2) alert("hello".length);
3)var msg; alert(msg.toString()); //报错,不能在undefined上调用toString()
4) var obj=null; alert(obj); //null
5) var num=10; alert(num.toString(2)); //1010,转换成二进制输出。
6,Object类型:
内置函数和属性:
constructor(); hasOwnProperty(pName); isPrototypeOf(pVal); propertyIsEnumerable(pName); toString(); valueOf();
JS基本类型特性总结的更多相关文章
- 关于js基本类型与引用类型(堆内存、栈内存的理解)
js 基本类型与引用类型的区别 ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型.也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可 ...
- TypeScript01 编译环境的搭建、字符串特性、类型特性
知识准备:JavaScript满足ES5前端规范.TypeScript满足ES6前端规范 1 TypeScript开发环境 TypeScript代码不能直接被浏览器识别,必须先转换成JS代码:通常是利 ...
- Ext JS 6 新特性和工具
Ext JS 6 新特性和工具 Ext JS 6 带来很多新特性.工具和改进.以下是一些亮点: • 合并了 Ext JS & Sencha Touch - 在 Ext 6, 你可以访问 Ext ...
- javascript笔记——js的阻塞特性[转载]
JS具有阻塞特性,当浏览器在执行js代码时,不能同时做其它事情,即<script>每次出现都会让页面等待脚本的解析和执行(不论JS是内嵌的还是外链的),JS代码执行完成后,才继续渲染页面. ...
- js的阻塞特性
JS具有阻塞特性,当浏览器在执行js代码时,不能同时做其它事情,即<script>每次出现都会让页面等待脚本的解析和执行(不论JS是内嵌的还是外链的),JS代码执行完成后,才继续渲染页面. ...
- JS 强制类型转化
在Js中, 强制类型转化分为两种情况: 一种是引用类型转化基本类型, 如数组转化成数字:一种是两种不同基本类型之间的转化,如字符串转化为数字.你不能将基本类型转化成引用类型,比如,不可能把数字转化为数 ...
- js基本类型存放和对象存放的区别(对象遍历)
js的基本类型,对象类型的应用在初学的时候,需要自己加以明确,明确了数据类型,在使用过程中才能正确使用变量.如下两个例子是摘自初学时的笔记,为大家提供参考. 1.对象可以存放属性和方法,js基本类型不 ...
- 利用js对象的特性,去掉数组中的重复项
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- js变量类型详解
<html> <title>js变量类型详解</title> <meta http-equiv="content-type" conten ...
随机推荐
- No_Sql总结
NoSQL简介 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",是对不同于传统的关系型数据库的数据库管理系统的统称.在现代的计算系统上每天网络上都 ...
- Java8推出各种优惠(从英文文档翻译)
翻译了一天.最终把翻译任务的"Java 8全部的包介绍"翻译完了,收获也是很大,了解了Java8中全部包的作用,对Java8有了一个总体的了解,另外也是提高了自身的阅读能力. ht ...
- Array类型判断
http://www.cnblogs.com/YaoAzhen/archive/2010/01/27/1657696.html
- Android官方教程翻译(5)——设置ActionBar
Setting Up the Action Bar 设置Action Bar PREVIOUSNEXT THIS LESSONTEACHES YOU TO 这节课教你 1. Support An ...
- 讨论2-sat建设和解决问题
2-sat问题是一种常见的问题.给定若干个01变量,变量之间满足一些二元约束,求是否有解存在.若存在,给出可行解或依照字典序给出最优解. 以下给出与其相应的图论模型:给每一个变量i设立2个点,我的习惯 ...
- 开源mvcpager分页控件分页实例
最近MVC需要用到分页,然后在网上找了一圈,发现一个很好用的分页控件,在此要感谢作者的辛勤劳动. 下载Pager 这个分页控件也有Asp.net的支持,需要的去看看作者的主页 webdiyer 先看看 ...
- SQList3 and SQL入门学习笔记
SQL 这是一个标准的计算机语言进行访问和操作数据库. 什么是 SQL? · SQL 指结构化查询语言 · SQL 使我们有能力訪问数据库 · SQL 是一种 AN ...
- Linux 下编译并安装配置 Qt 4.53全过程
最近准备做 Nokia 的 Symbian,Maemo 下触摸屏开发.考虑到程序的跨平台可移植性,最终选择使用 Qt 开发.相对来说,国内关于 Qt 相关文档并不算很多.作者将 Linux 下编译并安 ...
- HDU 2686 Matrix 3376 Matrix Again(费用流)
HDU 2686 Matrix 题目链接 3376 Matrix Again 题目链接 题意:这两题是一样的,仅仅是数据范围不一样,都是一个矩阵,从左上角走到右下角在从右下角走到左上角能得到最大价值 ...
- docker ubuntu 不选时区
在用ubuntu:18.04基本镜像进行构建的时候.出现啦选择时区的地方,然后会卡住. FROM ubuntu:18.04 #env 环境变量 ENV AUTHOR="xianyunyehe ...