js变量是弱类型,通过赋值决定变量的类型。
(1) 整数型var n = 10
(2) 浮点型var n = 1.1
(3) NaN 非数字型
isNaN() 判断时先转换为Number类型
注意点:NaN != NaN
判断小数OR整数的方法:
var a = 100 ; var b = 3.14 ;
(1) parseInt(b)==parseFloat(b);
(2) parseInt(b)<parseFloat(b);
判断是否为数字
(1)typeof a == "number" && a == a
因为NaN==NaN为false。
(2)var b=Number(a) if(isNaN(b))
字符串是由单引号或双引号引用的一串字符。
字符串的常用属性:
var str="hello world!";
var s="xxx";
str[0];//通过下标获取某个位置的字符
str.length;//获取字符串的长度
str.charAt(i);//通过下标 i 获取字符串第 i 个字符。
str.charCodeAt(i);//返回指定位置 i 的Unicode编码。
String.fromCharCode(65);//A。通过编码获取对应的字符。(常用编码)点击查看例子
str.indexOf(s);//返回某个指定的字符串在原字符串中首次出现的位置;如果找不到返回-1;其中s可为多个字符。
str.indexOf(s,num);//有两个参数,第一个参数指要查找的字符串,第二个是从什么位置开始查找。num为负值时,从0开始查找。
str.lastIndexOf(s,num);从末尾往回找。
str.substring(i);//截取从位置 i 到最后的字符。
str.substring(startIndex,endIndex);//截取内容:[startIndex,endIndex);如果startIndex>endIndex,会将endIndex看成startIndex;如果出现负值,则被看成0;
str.slice(startIndex,endIndex);//截取;负值慎用!
str.search(s);//查找字符串s在字符串str中的位置,如果找不到返回-1;(常用于模糊搜索)
var a=str.split(s);//将字符串str通过指定的分割符s分割成新的字符串,并保存在数组中返回。无参则将整个字符串str保存在数组中。
a.join(s);//将数组里的每个值用连接符s连接成字符串并返回。无参则默认连接符为逗号","。
eval(str);//去掉字符串的双引号或数组的中括号[];参数str只能是字符串或数组,不能识别json。原str不受影响。(用于ajax)
str.match("s");//查找s,放回数组["s",indext(下标):1,input:原字符串str],找不到返回null。(正则表达式。)
str.toLowerCase(); str.toUpperCase();//转化为大小写
1.[],"",null,0,undefined --> false;
2.ture为非零,false为0;
表示值为空。
注意:null == undefined为true
表示没有初始化(有var定义),但并没有报错。未定义时才会报错(not defined);
声明函数
function 函数名(形参){ 函数体 } (函数参数不需要声明)
调用函数
函数名(实参);
函数同名,后面的会把前面的覆盖,不同参数个数也会被覆盖。
函数可设置返回值。return XXX;函数遇到return就会结束,不会再执行return后面的语句。
若函数被变量接收,如var f=fun(); (函数fun返回值是一个函数),调用时f();或fun()();
arguments 实参集合:JS中的一个特殊对象,但实际上是当前函数的一个内置属性。
(1)函数参数个数不确定时,就不写(实参个数不能少于形参个数,否则会报错,反之可以!)
(2)参数与局部变量同名,就是同一个变量。
(3)arguments[0]=3;相当于给第一个参数赋值3.
(4)可利用该属性判断传入参数个数:arguments.length
window , document , json , Array都属于Object对象。
json是通过键值对来存取的。
存:var json1={ "name":"HYH", "age":23};
json 数据包含在花括号{}中,每个键值对用逗号","分隔。
取:var name=json1.name;
for( var key in jsonName){
console.log(key+":"+jsonName([key]));
}
key:通过什么存的,就返回什么值。
//var arr=[1,2,3];arr[4]=4;可直接通过下标来改变数组。(arr=[1,2,3,undefined,4])
//arr.length=2;也可通过改变数组长度来改变数组。(arr=[1,2])数组可存储任意数据类型,包括函数,json,对象。
//var arr=[{"name":"HYH"},function(){alert("aaa")}]取:var str = arr[0].name ; 调用:arr[1]();
var arr1=new Array();
var arr2=new Array("a",1,3,"b");
var arr3=new Array(5);//[ undefined x 5 ];
var arr4=Array("A");//可忽略关键字new。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。