标签:
例子:
下面有一段js代码:
<script>
window.onload = function(){
var oBtn = document.getElementByTagName("button");
for(var i=0;i<oBtn.length;i++){
//在循环的时候给每一个btn添加一个自定义属性
oBtn[i].index = i;//这行代码的相当于<button index=0 type="button" value="btn1" />...
oBtn[i].onclick = function(){
//alert(i);
//此时我们的目的是要将btn一个一个的alert出来,但是结果并不是我们想到的那样,最终只会alert出来一个3,解决办法是给每一个btn添加自定义属性
alert(this.index);//此时的效果就是我们要的 0 1 2这种效果
}
}
}
</script>
<html>
<body>
<button type="button" value="btn1" />
<button type="button" value="btn2" />
<button type="button" value="btn3" />
</body>
</html>
//********************************************分割线******************************************************************/
ECMScript:标准、核心,规定了JavaScript的标准
【数字,字符串,布尔,函数,对象(obj,数组,json,未定义)】
typeof:判断数据类型 alert(typeof i);
var i = 100 数据类型:number
var s = "abc" 字符串类型: string 空格也是算上长度的,字符串有长度length,chatAt(1)根据下标找到字符串中的某个字符
var b = true 布尔值 true or false
var fn = function(){alert(1)} 函数类型 alert(fn);//直接弹出函数代码,加上括号就是调用了
var obj = window;alert(typeof obj);//object 物体 对象
var obj = document;alert(typeof obj);//object 物体 对象
object 那么我们可以自定义属性,只要不是空的,是object,那么我们就可以操作它。
var arr = [1,3,4,5] 数组类型
数组也是object类型的,那么我们就可以给数组添加自定义属性,添加函数,或者其他
var json = {num:1,name:jack,age:5};//json也是Object类型的
alert(json.num);//1这样可以直接取值
var n = null;//这个也是object,他是空的,是不存在的,不可以添加自定义属性
var u; alert(typeof u);//undefined未定义,这个表示是一种状态,说明程序有问题
方法:
Number();
//可以将看起来像数字的字符串转换为数字,如果是空的字符串会转换成0,可以将布尔值将true和false转为1和0,空数组转为0,转换不了的转为NaN
parseInt();
//转整数,从左往右一个转换,遇到非数字,那么就截取,认识 + —,不认识小数点,默认是是转十进制,parseInt(a,2);//指二进制转换a
parseFloat();//转为浮点数
以上这几种都是显示类型转换,强制类型转换
隐使类型转换:
数字之间的比较和字符串之间的比较是不一样的,数字大小比较,字符串比较是根据编码来比较
alert("2" == 2); 还有 ===
NaN:not a number;不是一个数字,不是数字类型,数字和数字类型是两码事。出现了NaN,说明进行了非法运算操作。
NaN是一种数字类型,但是不是数字,NaN自己和自己不相等的,其他数据类型是自己等于自己的。
isNaN():is not a number:是不是数字?(不是数字),讨厌数字
用来判断是否是数字;内部是根据Number()来转换,能转成数字就false.
函数传递参数;参数就是js的那些数据类型。
标签:
原文地址:http://www.cnblogs.com/yangh965/p/5479664.html