JavaScript笔记

setTimeout():在一个网页标签中打开,切换标签,缩小浏览器,该方法还是会执行。

JavaScript组成部分:ECMAScript(核心),DOM(文档对象模型),BOM(浏览器对象模型)。

ECMAScript描述了一下内容:
语法,类型,语句,关键字,保留字,运算符,对象。

JavaScript语言特点:

  • 区分大小写。
  • 变量是弱类型。
  • 每行结尾分号可有可无。
  • 注释与Java相同。
  • 花括号代表代码块{ }

变量

一个var语句可以定义多个变量,类型也不必相同。

var test="hello",age=25;

变量并不一定要初始化,它们是在幕后初始化的。

使用变量之前不必声明,ECMAScript的解释程序遇到未声明过的标识符时,会用该变量名创建一个全局变量。

类型标记法

  • a:数组
  • b:布尔值
  • f:浮点数
  • i:整型
  • o:对象
  • s:字符串
  • v:变形(任意性)
  • re:正则表达式
  • fn:函数

原始值:存储在栈中(undefined,null,boolean,string,number)。
引用值:存储在堆中。

typeof运算符用于判断对象类型,返回变量的类型。

Undefined类型
当变量声明后未初始化时,变量的默认值为undefined。
函数无明确返回值时,返回的也是undefined。
未声明的变量不能用==等非typeod运算符。

null类型
Null类型的值与Undefined相等。

null==undefined     //true

Number类型
八进制首字母:0
十六进制首字母:0x

尽管所有的都可以表示为八进制或十六进制的字面量,但所有数学运算返回的都是十进制结果。

要定义浮点类型,必须包括小数点和小数点后面的一位数字。

浮点字面量在用于计算之前,真正存储的是字符串。

几个特殊的值也被定义为Number类型:
Number.MAX_VALUE和Number.MIN_VALUE。
它们定义了Number值集合的外边界,所有ECMAScript数值都必须在这两个值之间。
计算得出的值不再此列,但其超出此结果会被赋值为无穷,不能再用于其他计算。

转换

转换成字符串:
ECMAScript的类型都是伪对象,有自己的方法和属性。
tostring()返回字符串。
转换从数字:
parseInt()      转成整型
parseFloat()   转成浮点型
只对string类型调用有效,其他类型返回NaN。

parseInt()方法是查看位置0处的字符,判断它是否能转为一个有效数字,如果不是,返回NaN;如果是,检查下一位,重复过程,直到发现是非有效数字。对paresInt()来说,小数点也是无效字符。

parseInt("1234blue")        //1234
parseInt("0xA")             //10
parseInt("22.5")            //22
parseInt("bule")            //NaN

强制类型转换
Boolean(value)        空字符串,0,undefined,null会被转成false。
Number(value)
String(value)
Number(value)

- Number(false)            //0
- Number(true)             //1
- Number(undefined)        //NaN
- Number(null)             //0

string(value)与tostring()不同在于,对null,undefined强转不会引发错误。

引用类型

如果创建新对象无参数,可以以省略括号。

var o = new Object;

Object类具有下列属性
constructor——对创建对象的函数的引用。
prototype——对该对象的对象原型引用。

Number类

//返回具有指定小数数量的数字表示
.toFixed()
//返回科学计数法
.toExponential()
//返回最意义的预定形式
.toPrecision()

String类

//字符串中的字符个数
.length
//返回指定索引的字符
.charAt()
//返回指定索引的字符编码
/charCodeAt()
//把一个或多个字符串连接到String对象的原始值上
.concat()
.indexOf()
.lastIndexOf()
.slice()
.substring()
/*
返回要获取的子串
参数1:获取子串的起始位置。
参数2:获取子串的终止位置,终止位置的字符不再返回值中。
对于负参数:
slice()会用字符串的长度加上参数,即从后面开始数。
substring()会把其当作0处理。
*/

instanceof运算符
其与typeof相似,不同在于它要求明确确定对象为某种类型。

var oStringObject=new String("hello");
alert(oStringObject instanceof String);    //true

delete运算符:
删除对以前的对象属性或方法的引用。

var o=new Object();
o.name="N";
delete o.name;

void运算符:
返回undefined,避免浏览器输出值。

for(var temp in array)语句与foreach相同

ECMScript中的函数不能重载。
arguments对象可以访问传入函数的参数。

Funtion类
var function-name=new Function(arg1,arg2…function-body);
这种形式中,每个arg都是字符串类型。

length属性声明了函数的期望接受参数的个数。
tostring()返回其源码。
闭包:函数能使用函数外定义的变量。

对象基础
有自动回收机制。
令其为null,强制回收。

绑定:把对象接口与对象实例结合在一起的方法。
晚绑定:在编译器或解释程序在运行之前,不知道对象类型,只检查该对象是否支持特性和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值