JS高程-数据类型
2016-06-08 23:39
615 查看
今天有个同学过来面试WPF,然后用我的电脑上机,项目组座位的紧张,更别说电脑了,所以我就孤独的到一边去学习了。
拿起JS高程,为什么直接看数据类型了呢?首先因为前面都是介绍性文字,直接看第三章,其次刚好看到一篇微信,上面问了一下基本数据类型有哪些?看似简单基础的题,却一下子把我问懵比了,确实搞得挺乱记不清楚了,于是书中找答案。
一,基本数据类型有5种
Undefined:
Null:
Boolean:
Number:
String:
二,复杂数据类型1种(引用类型)
Object:
三,typeof检测数据类型
“undefined”——如果这个值未定义
“boolean”——如果这个值是布尔值
“string”——如果这个值是字符串
“number”——如果这个值是数值
“object”——如果这个值是对象或者null
“function”——如果这个值是函数
Note:typeof是操作符而不是函数,所以()不是必须的。
“null”一个空对象引用,所以也是“object”。
拿起JS高程,为什么直接看数据类型了呢?首先因为前面都是介绍性文字,直接看第三章,其次刚好看到一篇微信,上面问了一下基本数据类型有哪些?看似简单基础的题,却一下子把我问懵比了,确实搞得挺乱记不清楚了,于是书中找答案。
一,基本数据类型有5种
Undefined:
只有undefined一个值,未初始化/未定义/初始化undefined
Null:
只有null一个值(一般用来初始化对象) undefined派生自unll,alert(null==undefined)//true
Boolean:
只有true&false两个值 类型转换,一下列出转化为false的情况: 1.false(Boolean) 2.""(String空字符串) 3.0/NaN(Number,0和非数值) 4.null(Object空对象引用) 5.undefined(Undefined)
Number:
十进制 var num=55; 八进制 var num=070 //56 var num=079(无效八进制,79) var num=08(无效八进制,超出范围) 十六进制:0x; 浮点数: var floatNum=1.1 var floatNum=0.1 var floatNum=.1(有效,不推荐) var floatNum=1.(小数点后无数字,解析为1) var floatNum=10.0(整数,解析为10) Number.MAX_VALUE--Number.MIN_VALUE Infiniiy(正无穷)-- -Infinity(负无穷) isFinite()--true在范围内 NaN 非数值 数值转换: true--1 false--0 null--0 undefined--NaN 对象--valueof(); 如果NaN,调用toString()转化为字符串先,再根据规则来。
String:
字符串类型这里记住三点: var lang="java"; lang+="script"; 实际操作工程如下:先创建一个能容纳10个字符的新字符串,填充“java”和“script”,最后一步是销毁原来的两个字符串,这个过程其实效率是比较低的。不过浏览器目前已解决字符串拼接问题。 在数值调用toString()的时候,是可以给参数,表示转化的进制 var num=10; alert(num.toString(2))表示二进制转换为字符串“1010”; 在不知道转换的值是不是null或者undefined的时候,可以调用String()函数 这个函数能够将任何类型的值转换为字符串。
二,复杂数据类型1种(引用类型)
Object:
Object对象是所有对象的基类,每个实例对象有他所有的属性和方法: constructor:构造函数,用户创建当前对象Object(); hasOwnproperty(propertyName),检查给定的属性在当前对象实例中是否存在(不是在原型中) isPrototypeOf(Object),检查传入的对象是否是另一个对象的原型 propertyIsEnumerable(propertyName),检查属性是否可以用for--in来枚举 toLocaleString(),返回对象字符串表示 toString(),返回对象字符串表示 valueOf(),返回对象的字符串,数值或布尔值表示
三,typeof检测数据类型
“undefined”——如果这个值未定义
“boolean”——如果这个值是布尔值
“string”——如果这个值是字符串
“number”——如果这个值是数值
“object”——如果这个值是对象或者null
“function”——如果这个值是函数
var message="something"; alert(typeof message); "string" alert(typeof (message)); "string" alert(typeof 95); "number"
Note:typeof是操作符而不是函数,所以()不是必须的。
“null”一个空对象引用,所以也是“object”。
var a; var b=undefined; //var c; alert(a); //undefined; alert(b); //undefined; alert(c); //产生错误;没有声明 alert(typeof a); //undefined未初始化,默认返回 alert(typeof b); //undefined初始化为undefined,返回 alert(typeof c); //undefined未声明,返回,不能操作该变量
相关文章推荐
- JSON
- Qt5 与JavaScript互调
- JS复习小计
- javascript typeof()
- JSOI Round 2题解
- js_cookies_传值&cookies空格等处理
- Javascript笔记整理 —— 提升
- JS寻找宝藏游戏
- JavaScript笔记整理 —— 作用域
- jsp中tag自定义标签
- 常规功能和模块自定义系统 (cfcmms)—049模块的条件限定
- JavaScript中“javascript:void(0) ”是什么意思
- JavaScript执行顺序
- JavaScript-Arguments[] 数组、讲解
- JavaScript-Arguments 对象讲解
- JavaScript-Arguments.callee 函数
- web复习(三):js实现公告栏效果,间歇性滚动展示
- JavaScript-Arguments 对象讲解
- js 展开收起效果
- cJSON源码分析