JavaScript高级程序设计读书笔记(3)——基本概念

一、基本概念

*变量
1、初始化变量:
var a=3;
注意:使用var来定义的变量,该变量将成为自己作用域中的局部变量,另外为声明就赋值的变量都会变成全局变量。
*数据类型
5种基本数据类型:Undefined、Null、Number、String、Boolean;
1种复杂数据类型:Object。
ECMAScript 中的所有的数据都将是上述6种数据类型的一种。
我们可以通过 typeof(待检测数据) 操作符来检测给定变量的数据类型;想要区分数组和对象就要用到*instanceof()*来检测;
var a=new Object();
var arr=[];
typeof a;//object
typeof arr;//object
a instanceof Object;//true
arr instanceof Array;//true
关于Undefined:Undefined只有一个值:undefined;为赋值的变量都会保存undefined值;
关于Null:Null只有一个值:null;null值表示一个空对象指针;typeof null会返回 object;如果定义的变量将来使用保存对象的话最好是初始化为null值;另外undefined==null返回true,但并不意味着他们的用途完全相等。将一个变量显式的赋值为undefined是可以的,但将他赋值为null是不规范的,除非变量是为了储存对象。
关于Boolea:Boolean只有两个值true或false, 值得注意的是ECMAScript中所有类型的值都有与两个Boolean值等价的值,将一个值转化为Boolean可以调用Boolean()函数。
var b1 = Boolean("");//返回false,空字符串
var b2 = Boolean("s");//返回true,非空字符串
var b3 = Boolean(0);//返回false,数字0
var b4 = Boolean(1);//返回true,非0数字
var b5 = Boolean(-1);//返回true,非0数字
var b6 = Boolean(null);//返回false
var b7 = Boolean(undefined);//返回false
var b8 = Boolean(new Object());//返回true,对象
关于Number:
1、浮点数值:该数值中必须包含一个小数点;其中3.4e7表示3.4*10的7次方。最高精度是17位;
2.NaN:即非数值,是一个特殊的数值。用来表示本来要返回数值的操作数未返回数值的情况。任何数值除以非数值都会返回NaN。两个特性:1.任何涉及NaN的操作否会返回NaN。2.NaN与任何值都不相等,包括NaN本身。isNan()函数用来检测是否不是数值
3.数值转换:有三个函数可以把非数值转换为数值:Number()、parseInt()、parseFloa();

Number()转换规则如下:

  1. 如果是布尔型:true:1;false:0;
  2. 如果是数字型:
  3. 如果是null,返回0;
  4. 如果是undefined返回NaN;
  5. 如果是字符串:空串:0; “0123”:123; “1.2”:1.2; 十六进制:相同大小的十进制; 特殊:NaN;
  6. 如果是对象则返回NaN;

parseInt()函数是对Number()函数的补充,因为后者在转换字符串时比较复杂且不合理;
parseInt()转换规则如下:在转换字符串时更多的是看其是否符合数值模式;他会忽略字符串前面的空格,直到找到第一个非空格字符,如果第一个字符不是数字字符或者符号则会返回NaN。如果第一个字符是数字字符,parseInt函数会继续向后解析,直到遇到非数字字符。"123abc"会返回:123;"22.3"会返回22.其他进制的数值调用parseInt()会转换成十进制;另外parseInt()函数还可以传参数,用于表示转换时的进制。例如:var num=parseInt(“0xAF”,16)//175.

parseFloat()函数与parseInt()函数执行机制类似,但前者在遇到第一个无效小数点为止,也就是说parseFloat只能识别一个小数点。并且所有的十六进制数都会转换成0.

关于String:

1、字符字面量:一些个转义字符:\n,\t……
2、length属性;
3、字符串的特点:
*是原始值,字符串不可变;
4、转换成字符串:两种:tostring();String()该方法可以转换null和undefined,并且内部封装了tostring()方法。

关于Object:每个Object实例都有如下的属性和方法:
1、constructor:表示创建当前对象的构造函数;
2、hasOwnProperty:检查给定的属性是否在当前的对象实例中;
3、isPrototypeOf(object):由于检查传入的对象是否为当前对象的原型;
4、propertyEnumerable(PropertyName):检查给定的属性是否能够使用for-in;
5、toLocaleString:返回对象的字符串表示;
6、toString():返回对象的字符串表示;
7、valueof():返回对象的字符串、数值、布尔值的表示,通常与tostring方法的返回值相同。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值