1、js的语法
a.区分大小写
b.弱类型变量:变量无特定类型
c.每行结尾的分号可有可无
d.括号用于代码块
e.注释的方法与c语言和java相同
2、变量
注意事项:
a.通过关键字var来声明。
b.可以声明多个变量。
c.同一个变量中储存不同的数据类型(最好是同一个变量只存储一种数据类型)
d.变量名称遵循的规则:
(1)首字符必须是字母(大小写均可)、下划线(_)或美元符号($);
(2)余下的字母随意
(3)变量名不能是关键字或者保留字。
3、数据类型
9种数据类型:未定义(Undefined)、空(Null)、布尔型(Boolean)、字符串(String)、数值(Number)、对象(Object)、引用(Reference)、列表(List)和完成(Commpletion)。
a、字符串:string对象用于处理已有的字符串。
规 则:字符包括字母、数字、标点符号和空格。字符串必须放在单引号和双引号里。
注 意:(1)复杂字符串可以用escaping方法来进行转椅;字符串具有leng属性,它返回字符串中字符的个数。
(2)即使字符包含双字节(ASCII字符只占用一个字节),每个字符也只算一个字符。
(3)获取指定字符的属性charAt()方法,第一个字符位置为0,第二个位置为1,以此类推。
b、从某一段字符中取出一段字符串,可采用slice()、substring()、sunstr()方法。
<!--slice()和substring()-->
<script>
var mystring="1234567890abcdefghijk";
document.write(mystring.slice(2,7)+"<br>");
document.write(mystring.substring(12,20)+"<br>");
document.write(mystring.slice(16)+"<br>");
</script>
<!--slice()和substring()的区别-->
<script>
var mybl="manaemjszhuzhu";
document.write(mybl.slice(6,-4)+"<br>");
document.write(mybl.substring(6,-4)+"<br>");
</script>
注意:slice()负参数时,从字符串的末尾往前计数;substring()负参数时,直接忽略负数,作为0来处理,并将较小的作为起始值,较大的作为终止位。
c、搜索操作字符,使用indexOf()和lastIndexOf()两种方法。
<script>
var myjiequ="wodejiequzifuchuangyiyayiayo";
document.write(myjiequ.indexOf("i")+"<br>");//从前往后搜索,第5个是
document.write(myjiequ.indexOf("i",12)+"<br>");//可选参数,从第几个字符开始往后找
document.write(myjiequ.lastIndexOf("i")+"<br>");//从后往前搜索
document.write(myjiequ.lastIndexOf("i",8)+"<br>");//可选参数,从第几个字符开始往前找
document.write(myjiequ.lastIndexOf("z",8)+"<br>");//字符串z,找不到,返回-1
</script>
d、数值(可以是任意的数字,包括小数和负数)
<!--数值的科学计数法toExponential()-->
<script language="javascript">
var mynumber=8907;//注意数据类型,数值的写法,数字不能用引号引起来。
alert(mynumber.toExponential(2));
</script>
e、布尔型(只有2个只:false和true;布尔型不能用引号引起来)
<!--布尔型变量的正确写法-->
<script>
var married=true;
alert("1."+typeof(married));
married="true";
alert("2."+typeof(married));//typeof()查看数据的类型
</script>
f、类型转换(转换函数、强制类型转换、利用js变量弱类型转换)
详情见——贰、js的基础(二)
g、数组:有名称相同的多个值构成一个集合。
(1)使用关键字array来声明;可以指定这个数组元素的个数(也就是长度);数据元素可以是字符串、数值和布尔值。
(2)数组的声明方法:
arrayObj = new Array(); //创建一个数组。
arrayObj = new Array([size]) 创建一个数组并指定长度,注意不是上限,是长度。
arrayObj = new Array([element0[, element1[, ...[, elementN]]]]) 创建一个数组并赋值。
代码如下:var a = new Array(["b", 2, "a", 4,]);
arrayObj = [element0, element1, ..., elementN] 创建一个数组并赋值的简写,注意这里中括号不表示可省略。
代码如下:var a = ["b", 2, "a", 4,];
(注):注意带“[]”与不带“[]”的区别
代码如下:
var a = new Array(5); //指创建长度为5的数组
break | do | instanceof | typeof |
case | else | new | var |
catch | finally | return | void |
continue | for | switch | while |
debugger* | function | this | with |
default | if | throw | delete |
in | try |
abstract | enum | int | short |
boolean | export | interface | static |
byte | extends | long | super |
char | final | native | synchronized |
class | float | package | throws |
const | goto | private | transient |
debugger | implements | protected | volatile |
double | import | public |
第5 版把在非严格模式下运行时的保留字缩减为下列这些:
class | enum | extends | super |
const | export | import |
在严格模式下,第5 版还对以下保留字施加了限制:
implements | package | public | interface |
private | static | let | protected |
yield |