标签:html javascript
1.什么是脚本程序和JavaScript
①什么是脚本程序
<html>
<script language="javascript">
alert(new Date())
</script>
</html>
②JavaScript简介
前身叫做LiveScript,是一种基于对象(Object)和事件驱动(Event Driven)、并具有安全性能的脚本语言
③JavaScript与JScript、ECMAScript的关系
javascript与JScript基本一致(是两个公司的不同产品),ECMAScript是JavaScript和JScript的统一标准
2.JavaScript的基本语法
1)脚本代码的位置
①放在<script></script>标签之间
<script>
var x = 3;
</script>
<script>
alert(x);
</script>
放在多个<script>中的代码,和放在一个<script>中的代码是一样的,可以相互访问。
②放置在一个单独的文件中
应用文件:<script src="script.js" language="javascript"></script>
③将脚本程序代码作为属性值
<a href="javascript:alert(new Date());">javascript</a>
<input type="button" onclick="alert(new Date());"></input>
2)javascript中的保留关键字
3)javascript的基本语法
①JavaScript中的标示符
标示符是指javascript中定义的符号,例如:变量名、函数名、数组名等。
标示符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但是标示符不能以数字开头,不能是javascript中的保留关键字
②JavaScript严格区分大小写
③JavaScript程序代码的格式
每条功能执行语句的最后必须用分号(;)结束,
每个词之间用空格、制表符、换行符或大括号、小括号进行分隔开
④JavaScript程序的注释
//单行注释符
/* ... */多行注释符。可以嵌套单行注释符,但不能嵌套多行注释符
4)基本数据类型
①整型常量
十六进制以0x或0X开头,例如0x8a
八进制必须以0开头,例如0123
十进制的第一位不能是0(数字0除外),例如123
②实型常量
12.32、193.909、5E4等
③布尔值
true和false
④字符串型常量
"anc cd"、‘abc‘、"a"、""
字符串中的特殊字符,需要以反斜杠(\)后跟一个普通字符来表示 例如:\r、\n等
字符串不能换行。可以使用+连接符
⑤null常量:值存在
⑥undefined常量:不存在
5)变量
①定义一个变量,系统就会为之分配一块内存,程序可以使用变量名来表示这块内存中的数据
②声明变量要使用var关键字 例如 var name; name的默认值是undefined
③对已赋值的变量赋予一个其他类型的数据(数据类型的弱类型)
④不事先声明变量而直接使用也是可以的
3.运算符
①算术运算符
+ 加法运算符或正值运算符,可以用于字符串的连接
- 减法运算符或负值运算符
* 乘法运算符
/ 除法运算符 例如9/4=小数(而与java不同)
% 求模运算符(求余)
++ 将变量值加1后再将结果赋给这个变量
++i与i++
-- 将变量值减1后再将结果赋给这个变量
--i与i--
②赋值运算符
赋值运算符的作用是将一个值赋给一个变量,做常用的赋值运算符是"="
还可以组合,+=、-=、*=、/=、%=
③比较运算符
> 、 < 、>= 、 <= 、== 、!=
注意:不要将比较运算符"==" 误写成 赋值运算符"="
④逻辑运算符
&& 、 || 、!
⑤位运算符
& 、 | 、 ^(异或)、>> 、 <<
5.程序的流程控制
①switch选择语句
switch(表达式)
{
case 取值1:
语句1;
break;
case 取值n:
语句n;
break;
default:
语句n+1;
break;
}
注:表达式支持javascript的所有类型(而java中只支持int,byte,short,boolean,char)
②while循环语句
while(条件表达式语句){
执行语句块;
}
③do while语句
do{
执行语句块;
}while(条件表达式语句)
注:至少执行一次
④for循环语句
for(初始化表达式;循环条件表达式;循环后的操作表达式){
执行语句块;
}
⑤break和continue
⑥if...else...
if(){
...
}
注:if(x==null) 或 if(typeof(x) == ‘undefined‘) 可以简写成if(!x)
if(){
...
}else{
...
}
注:变量 = 布尔表达式? 语句1:语句2;
if(){
...
}else if{
...
}else{
...
}
6.函数
①函数的作用及定义
function 函数名(参数列表){
程序代码;
return 表达式;
}
②对函数进行调用的几种方式
函数名(参数列表)
变量 = 函数名(参数列表)
对于有返回值的函数调用,也可以在程序中直接使用返回的结果
全局变量与局部变量
③参数个数可变的函数
在函数内部使用arguments对象来访问调用程序的所有参数。
定义函数时不指定参数列表
④创建动态函数
var vaeName = new Function(arguments1,...,lastArgument);
说明:
所有的参数都必须是字符串型的,最后的参数必须是这个动态函数的功能程序代码
例子:
<script>
var varName = new Function("x","y","var sum;sum = x*x+y*y;return sum;");
alert(varName(2,3));
</script>
⑤JavaScript中的系统函数
encodeURI方法
返回对一个URI字符串编码后的结果
注:在java中与之对应的是URLEncoder.encode(String s,String enc)
decodeURI方法
将一个已编码的URI字符串解码成最初始的字符集并返回。
注:在java中与之对应的是URLDecoder.decode(String s, String enc)
parseInt方法
将一个字符串按指定的进制转换成一个整数,语法格式为:parseInt(numString,[radix])
如果没有指定第二个参数,则前缀为‘0x‘的字符串被视为十六进制,前缀为‘0‘的字符串被视为八进制,所有其他字符串都被视为十进制。
如果不能完全转化,则转换前面能转化部分的字符串。
parseFloat方法
将一个字符串转换成对应的小数。
isNaN方法
用于检测parseInt和parseFloat方法的返回值是否为NaN
escape方法
返回对一个字符串进行编码后的结果字符串。
所有空格、标点、重音符号以及任何其他非ASCII字符都用%xx编码替换,其中xx等于表示该字符的Unicode编码的十六进制数
字符大于255的字符以%uxxxx格式储存
unescape方法
将一个用escape方法编码的结果字符串解码成原始字符串并返回。
eval方法
将其中的参数字符串作为一个JavaScript表达式执行。
7.对象
①对象定义
<script>
//构造方法
function Person(){
}
//实例对象
var person = new Person();
//添加属性,可以无限的添加属性
person.name = ‘wzg‘;
person.age = 23;
//定义函数
function sayFunc(){
alert(person.name+‘;‘+person.age);
}
//添加函数
person.say = sayFunc;
//调用函数
person.say();
</script>
②构造方法与this关键字
<script>
function Persion(name,age){
this.name = name;
this.age = age;
this.say = sayFunc;
}
function sayFunc(){
alert(this.name+‘----‘+this.age);
}
var person1 = new Person(‘wzg‘,15);
person1.say();
var person2 = new Person(‘hll‘,16);
person2.say();
</script>
③在函数中修改参数值的问题
将基本数据类型的变量作为函数参数传递的情况:值传递
<script>
function changeValue(x){
x= 5;
}
var x= 3;
changeValue(x);
alert(x);
</script>
将对象类型的变量作为函数参数传递的情况:引用传递
<script>
function Person(name){
this.name = name;
this.say = sayFunc;
}
function sayFunc(){
alert(this.name);
}
function changeValue(person){
person.name = ‘wzg‘;
}
var person = new Person(‘wzzzzzz‘);
person.say();
changeValue(person);
person.say();
</script>
8.JavaScript的内部对象
①动态对象
使用"对象实例名.成员"的格式来访问其属性和方法
②静态对象
使用"对象名.成员"的格式来访问其属性和方法
③Object对象
Object对象提供了一种创建自定义对象的简单方式,不需要程序员再定义构造函数。
<script>
function getAttribute(attr){
alert(person[attr])
}
var person = new Object();
person.name = ‘123‘;
getAttribute("name");
</script>
④String对象
1)length属性:字符串中字符的长度
var myString = new String("1234567");
alert(myString.length);
alert("123456789".length);
2)产生对应的html标签:big、link等
var myString = ‘123‘;
alert(myString.big());
3)charAt(index):返回对应索引的字符,索引从0开始,如大于索引则返回空
4)charCodeAt():返回的结果是字符的unicode编码
var myString = ‘abc‘;
alert(myString.charCodeAt(1));
5)indexOf(str,index)方法
从index位置开始查找,返回str在字符串中的位置,位置从0开始,从左到右,若没找到则返回-1
6)lastIndexOf(str,index)方法
从index位置开始查找,返回str在字符串中的位置,位置从0开始,从右到左,若没找到则返回-1
7)match、search方法
运用正则表达式
8)replace、split方法
替换和分解
9)slice(index,endIndex)方法
返回index和endIndex之间的字符,不包括endIndex的字符
10)substr、substring方法
返回子字符串substr(strat,length)、 substring(start,end)
substring与slice方法一样
11)toLowerCase和toUpperCase
转换大小写
⑤Math对象(静态对象)
属性:E:代表数学常数e,约等于2.718
LN10:代表10的自然对数,约等于2.302
LN2:代表2的自然对数,约等于0.693
PI:代表数字常数π的值,约等于3.1415
SQRT1-2:代表2的平方根分之一,约等于0.7.7
SQRT2:代表2的平方根,约等于1.414
方法:abs方法:返回数字的绝对值
sin、cos方法:分别返回正弦、余弦值
asin、acos方法:分别返回反正弦、反余弦值
random方法:返回介于0和1 之间的伪随机数
⑥Date对象
构造函数:Date()
Date(dateVal):dateVal为自1970的毫秒值
Date(year,month,day[,hours[,minutes[,seconds[,ms]]]])
parse方法:
分析一个表示日期时间的字符串,返回它所表示的时间值(自1970的毫秒值)
toGMTString方法:
返回Date对象实例所表示的日期的字符串形式,该字符串使用格林尼治标准时间
getYear、getMonth、getDate、getDay、getHours、getMinutes、getSeconds、getMilliseconds方法
getTime方法:返回自1970年1月1日0点0分0秒算起,至Date对象实例代表的时间为止的毫秒数
注:getYear():当前年份-1900
getFullYear():当前年份
⑦toString方法
toString方法是
⑧对象专用语句
1)with语句
with(对象名称){
执行语句块;
}
在多次使用某个对象的属性或方法,可以将对象名称放在with语句中
在with中可以直接使用对象的属性和方法,而不用再使用对象名称
var currDate = new Date();
with(currDate){
var year = getFullYear();
var month = getMonth()+1;
var day = getDay();
alert(year+‘年‘+month+‘月‘+day+‘日‘);
}
2)for...in语句
for(变量 in 对象){
执行语句;
}
将对象中的所有属性,依次赋值给变量
function Person(){
this.name = ‘1‘;
this.age = ‘2‘;
}
var p = new Person();
var str;
for(str in p ){
alert(str);
}
9.数组
①数组列表
数组列表用于表示一组数据的集合,它由一对方括号([])包围,列表中的每个元素用逗号分隔,
数组元素可以是任意类型的数据(包括其他数组)
例如:var arr= [‘a‘,‘1‘,‘ds‘];
对于每个数组变量,都有一个length属性,表示该数组中元素的个数
使用"数组变量名[索引号]"的格式来访问每个数组元素。
数组列表的每个元素既可以是有效的javascript表达式,以可以为空,空元素的值为undefined。
数组元素本身又是数组,这就叫数组的数组,例如:[[‘123‘,‘23‘,‘‘asd],123]
使用"数组变量名[子数组索引号][子数组中的元素索引号]"的格式来访问数组的数组中的元素
②用对象的方式实现数组
function MyArray(){
this.length = arguments.length;
for(var i=0; i<this.length;i++){
this[i] = arguments[i]
}
}
var str="";
var arr = new MyArray(4,3.5,‘abc‘);
for(var i = 0; i< arr.length ;i++){
str+=arr[i]+‘\n‘;
}
alert(str);
③Array对象
1)三种构造函数:
Array(); 创建一个空数组
Array(length); 创建一个指定长度的数组
Array(args....);创建一个指定内容的数组
例子:
var arr = new Array();
alert(arr.length);
arr[0]= ‘a‘;
arr[1]= 1324;
alert(arr.length);
arr.sort();
var x,str = ‘‘;
for(x in arr){
str += x + ":"+arr[x] +‘\n‘;
}
alert(str);
标签:html javascript
原文地址:http://blog.csdn.net/sd_tz_wzg/article/details/41868781