1、如何写js:
写js可以在外部js文件写,也可以直接在head里面写:
<script type="text/javascript">
function ShowMsg()
{
alert("这是我的第一个js例子");
}
</script>
2、命名规范:为了增强代码的可读性,让团队成员都能看懂,遵循命名规范。
(1)js是区分大小写的,非常严格。
(2)js是弱类型,统一用var声明变量,如:
整形: var iNum=10;
浮点: var fNum=2.23;
布尔: var bMaie=false;
函数: var fnObject=new myFunction();
数组: var aColor=new Array();
字符串: var sMyString="aaaaa";
……
*弱类型与强类型:
js是弱类型,只能用var声明; c#是强类型,用对应类型声明
弱类型:弱化类型的声明方式; 强类型:强调类型的声明方式
弱类型比较方便,但当语句交给浏览器时,浏览器还是需要去判断它是哪种变量,执行效率比强类型低。
(3)注释:
单行注释://
多行注释:/* */
(4)var可同时声明多个变量:
var girl="aaaa" , age=19 , male=false;
(5)js变量不一定需要初始化,可后面用时再赋值:
var couple;
(6)变量名称规则:
·首字母必须是字母(大小写均可)、下划线、或者美元符。
·余下的字母可以是下划线、美元符、任意字母或数字字符。
·变量名不能含js关键字。
(7)局部变量和全局变量:
全局变量:在{}外声明的变量,各函数皆可调用;
局部变量:在{}内声明的变量,只有此函数可用;
(8)命名习惯
整形i: var iNum=10;
浮点f: var fNum=2.23;
布尔b: var bMaie=false;
函数fn: var fnObject=new myFunction();
数组a: var aColor=new Array();
字符串s: var sMyString="aaaaa";
(还有:对象o、正则re,此两项不常用,知道即可)
3、数据类型详解:
(1)字符串String:
var sMyString="hello world";
*补充:位置/索引:第一个字母从0开始算,依次后延,空格也算,如上面的"hello world",位置8的字母是r
【字符串的属性方法总结】
length 获取字符串长度 alert(sString.length); 结果是11
charAt 获取指定位置的字符 alert(sString.charAt(8)); 结果是r
substring 字符串的截取 alert(sString.substring(1)); 从位置1截取到最后。结果是ello world
alert(sString.substring(1,10)); 从位置1截取到位置10(不包含10)。结果是ello worl
substr 字符串的截取 alert(sString.substr(1,6)); 从位置1开始截取6位出来。结果是ello w
indexOf 搜某字符位置 alert(sString.indexOf("l")); 查找出第一个l所在的位置,如没有则返回-1。结果是2
alert(sString.indexOf("l",4)); 从位置4开始,查找出接下来的l所在的位置。结果是9
lastindexOf 从后往前搜某字符位置 与indexOf雷同
(2)布尔类型bool:(即真或假,true 或 false)
Var bMale=true; 声明 bMale 为真;
If(bMale){ 如果 bMale 为真,
alert("a"); 则输出a;
}
else{ 否则,
alert("b"); 则输出b。
}
所以以上程序输出a
(3)数值、及类型转换:
a)数值与字符串相加:
var iNum1=10;
var sNum2="20";
var sNum3=iNum1+sNum2;
alert(sNum3);
可把iNum1变成字符串:
var sNum3=iNum1.toString()+sNum2;
alert(sNum3);
也可把sNum2转成数值:
var iNum2=iNum1+parseInt(sNum2);
alert(iNum2);
b)与浮点字符串相加:
var iNum1=10;
var sNum2="20.123";
var sNum3=iNum1+sNum2;
alert(sNum3);
当数值和字符串相加时,把sNum2变成整数:
var iNum2=iNum1+parseInt(sNum2);
alert(iNum2);
也可把sNum2变成浮点数:
var iNum2=iNum1+parseFloat(sNum2);
alert(iNum2);
c)类型转换:
数值转字符串:var sNum1=iNum1.toString();
字符串转数值:var iNum2=parseInt(sNum2);
转浮点:var iNum2=parseFloat(sNum2);
字符串变成数组:var aDate=sMyString.split("-");(var sMyString="2015-07-15";)
(4)数组:存放一个数据集合
a)声明数组的方式:
1、确定数组长度:var aTeam=new Array(12); 数组长度为12
2、不确定数组长度:
var aColor=new Array();
aColor[0]="blue";
aColor[1]="yellow";
aColor[2]="green";
aColor[3]="black";
*上述数组也可写成:
var aColor=new Array("blue","yellow","green","black");
此时输出:alert(aColor[3]);
则得到:black
b)toString,数组变成字符串:
alert(aColor.toString());
此时输出:blue,yellow,green,black
c)join,改连接符:
alert(aColor.join("-").toString());
此时输出:blue-yellow-green-black
d)split,把字符串变成数组:
var sMyString="2015-07-15";
var aDate=sMyString.split("-");
alert(aDate[2]);
此时输出为:15
e)reverse,使数组元素反序出现:
var aColor=new Array("blue","yellow","green","black");
alert(aColor.reverse().toString());
此时输出为:black,green,yellow,blue
f)sort,使数组元素根据a-z顺序排序:
var aColor=new Array("blue","yellow","green","black");
alert(aColor.sort().toString());
此时输出为:black,blue,green,yellow