JS高程-数据类型

今天有个同学过来面试WPF,然后用我的电脑上机,项目组座位的紧张,更别说电脑了,所以我就孤独的到一边去学习了。

拿起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(Number0和非数值)
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未声明,返回,不能操作该变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值