1、常量和变量:
①常量:
在JavaScript中使用后const类型(代替了var)来声明常量,常量名通常使用大写字母。
常量的值是不能改变的,在常量中有以下几种类型:
1)整型常量:整型常量可以使用十六进制、八进制和十进制表示其值;
2)实型常量:实型常量是由整数部分加小数部分表示,如5.2、14.1;可以使用科学记数法表示,如5E7、4E5等
3)布尔值:布尔常量只有两种状态,即true或false。
4)字符型常量:使用单引号(‘)或双引号(“”)括起来的一个或几个字符;
5)空值:JavaScript中只有一个空值null,表示什么也没有;
6)特殊字符:JavaScript中以反斜杠(/)开头的不可显示的特殊字符;
②变量:
变量值在程序运行期间是可以改变的,它主要作为数据的存储容器。变量的声明:
1)变量名只能由字母、数字和下划线“_”组成,以字母开头,除此之外不能有空格或其他字符;
2)变量名不能使用JavaScript中的关键字,所谓关键字就是JavaScript中已经定义好的并有一定用途的字符,如int、true等
3)在对变量名命名时最好把变量的意义与其代表的意思对应起来,以免出现错误。
在JavaScript中声明变量使用var关键字;
③基本语句
在JavaScript中主要有两种基本语句:一种是循环语句,如for、while; 一种是条件语句如if、switch语句等。
数据类型转换:
大部分情况下JavaScript可以正常处理数据,但有时也需要做强制类型转换。JavaScript提供了以下三个原始数据类型转换函数:
ⅠString()
ⅡNumber()
ⅢBoolean()
例如:var result=Number(num1)+Number(num2);
2、函数
①函数是拥有名称的一系列JavaScript语句的有效组合。只要这个函数被调用,就意味着这一系列JavaScript语句被按顺序解释执行。一个函数可以有自己的参数,并可以在函数内使用参数。
语法:
function 函数名称(参数表){
函数执行部分
}在这一语法中,函数名用于定义函数名称,参数是传递给函数使用或操作的值,其值可以是常量、变量或其他表达式
②函数被直接调用的形式有:在<script>标签中调用、在链接中调用或者事件触发时(比如用户按键)被调用
在<script>标签中调用:<body >
<scripttype=text/javascript>
greetings("helo");
</script>
</body>
在链接中调用:函数可以直接在链接中被调用。用JavaScript伪协议JavaScript:代替一个正常的URL即可做到。JavaScript:协议和函数调用放在引号中,且被赋值给标签<a>的href属性。
当用户用鼠标单击该链接时,会执行一个JavaScript函数,而非跳转到另一个页面。:
<ahref="JavaScript:greetings()"><big>Click here for afunction</big></a>
从事件调用函数:
事件会在用户执行某操作时触发,如单击某个按钮或使鼠标划过一个链接。被赋值给事件的函数称为事件处理函数。当事件被触发时,该函数被调用。:
<input type="button"value="hello" onClick="greetings("hello");"/>
2)parseInt()函数
这个函数将字符串转换为数字。它从字符串的开头开始解析,在第一个非整数位置停止解析并返回前面读到的所有整数。如果字符串不是以整数开头的,则返回NaN
parseInt()函数内有两个参数时,第一个参数表示包含一个数制(基数)的字符串,技术范围从2~36,默认的基数为10.第一个参数是被解析的字符串,第二个参数是基数。
3)parseFloat()函数 与parseInt()函数类似;
4)eval()函数
eval()函数将字符串作为JavaScript表达式进行计算,并返回执行结果。如果没有结果,则返回undefined.
格式: eval(String); 例如:eval("(5+4)/3")
3、对象
①对象字面量
对象字面量使用关键字/值对来表示字段,并且字段还可以嵌套。对象字面量的基本语法如下:
(1)使用冒号分隔属性名与值
(2)使用逗号分隔每组名字/值对
(3)最后一组名字/值对后省略逗号。即使使用嵌套的名字/值对,最后一个名字/值对后也不用加逗号;
(4)整个对象封装在一对花括号中。
格式: varobject={property1:value, property2:value,....};
其中也可以嵌套函数
var object={property1:value,property2:value, fullin :function(){.....}......};
4、操作对象
①with关键字
有了with关键字,我们就可以通过简洁的代码来引用对象的属性和方法。对象作为with的参数,成为了后面整段语句块的当前对象。使用对象的属性或方法时可以省略对象名和点语法。
但是:这种简写方式虽然可以减少代码的编写量,但却需要更长的运行时间。这是由于JavaScript需要对with块中的每个变量作检查,看他们是否是当前对象的属性。
格式:
with(object){
<properties used without the objectname and dot>
}
示例:
with(employee){
document.write(name,ssn,address);
}
②for/in循环
JavaScript 中可以使用for/in循环来遍历对象属性或者数组元素。for/in循环:对于对象中的每个属性(或数组中的每个元素),依次获得属性名(元素名)并针对该属性(元素)执行后面语句块中的语句。
格式:
for(var property_nam in object){
statements;
}
5、通过原型扩展对象
①使用prototype属性为对象添加属性
因为所有对象都有prototype属性,所以我们可以利用Book(一个类)类prototype 属性来给Book类添加新属性。这样新属性对Book类及其所有实例都是可用的,
也就是说所有的Book对象都会有新属性。
②原型查找链
在程序获取对象的属性时,JavaScript首先会查看该属性是否定义在那个对象中。如果有,JavaScript就会获取该属性。如果属性没在对象中直接定义,那么JavaScript需要查看该属性是否
在对象的原型中有定义。如果原型中也没有定义,JavaScript则会向上查找父亲对象。按层次向上查找的过程叫做原型查找链,该过程可以一直查找到最顶层。最顶层的对象就是Object对象,
当然有prototype属性。
6、使用原型为对象添加方法
所谓的JavaScript方法其实就是将函数赋给类的属性。所以,原型的一种典型用处就是用增加新方法的方式对类进行扩展。可以使用原型来定义方法,该方法对指定类及其所有对象都可用。
使用原型的优点是,无需在每次创建对象时均生成和初始化,也不用重复编码。该类所有的对象都共享同一个原型方法。
7、可以使用instanceof运算符检测指定对象是否是特定的对象类型。如果是,返回真。
格式:
var isInstance=objectname instanceofobjectType;
示例:
var str1=new String("Goodmorning");
var result =str1 instanceof String;
if(result==true){ .........}
2、<script>标签
JavaScript程序必须以HTML标签<script>开始,以</script>结束
<script>标签有可以改变标签行为的属性:
①language
②type
③src
3、生成HTML并输出显示(将文档的输出发送到浏览器)
①write()和writeln()方法:
document.write("............");
document.writeln(".......");//换行