《javaScript高级程序设计》读书笔记 (1)语法

本文深入探讨JavaScript编程中变量的作用域、函数的局部与全局变量概念、类型操作符、数字转换函数、对象方法、布尔操作符、枚举属性、label与with语句、switch语句、函数参数、重载函数、forin枚举以及标签使用等关键知识点。

1.局部变量和全局变量

var操作符定义的变量将成为定义该变量作用域中的局部变量。这个局部变量会在函数退出后销毁。不同于其他语言,javaScript不存在块级作用域。

全局变量就是window对象的属性,所有未定义的变量和在最外层(非函数体内)的变量都拥有全部作用域。如非必要,尽量避免在函数体内使用全局变量。


function test(){

	for(var i=0;i<10;i++) {
		var sum=i;
	}
	alert(sum);//javaScript作用域是函数决定的。提示为10
	j=1;//未明确定义的变量是全局变量
	alert(j==window.j)//全局变量是window的属性,提示true
}


2.typeof 是操作符

3.parseInt() 转换字符串为数字。

paseFloat()不能识别16进制,0xf会返回0

var sum1=parseInt("1234blue");//1234
		var sum2=parseInt("0xf");//parseInt可以识别16进制,15
		var sum2=parseInt("f",16);//最好用第二个参数声明16进制
		var sum3=parseInt("true");//NaN


4.toString()指定基数的用法

var num=10;
num.toString();//'10'
num.toString(2);//'1010'
num.toString(8);//'12'
num.toString(16);//'a'

5.Object 类型

Object类型都具备下列方法

a.Constructor:保存用于创建当前对象的函数。

b.hasOwnProperty(propertyName):检查给定属性在当前对象实例中(而不是在实例原型中)是否存在。

    例:o.hasOwnProperty(‘name’);

c. isPrototypeOf(object):检查传入对象是否是另一对象原型。

d. propertyIsEnumerable(propertyName):检查给定属性能否使用for-in语句枚举。

e . toLocaleString():返回对象字符串表示

f .toString():返回对象字符串表示

g.valueOf():返回对象字符串,数值或布尔值表示。

6.布尔操作符

逻辑与(&&)和逻辑非(||)可以作用于任何数据类型,不仅仅是布尔值。它们是短路操作符。

7.尽量使用全等(===)或不全等(!===)操作符

8. for in 枚举对象属性

for(var property in expression) statement;

9.label:statement

例子:

start:

for(var i=0;i<10;i++){}

10.with语句(不建议使用)

将代码作用域设置到一个特定对象中

with(expression)statement;

var qs=location.search.subString(1);
var hostName=location.hostname;
var url=location.href;
//等同
with(location) {
var qs=search.subString(1);
var hostName=hostname;
var url=href;
}

11.switch使用全等操作符,不会发生类型转换

12.函数通过数组接受参数。可通过arguments来访问。

命名的参数只提供便利,而不是必须的。解析器不会验证命名参数。

13.函数没有重载。如果定义两个名字相同的函数,该名字属于后定义的函数。

转载于:https://my.oschina.net/sldk/blog/190866

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值