JavaScript回顾
JavaScript是Web编程语言。
- JavaScript是一种基于对象的脚本语言
- 它是解释执行的
- 在客户端的浏览器中运行
- 可以被嵌入HTML文件中
- 代码以纯文本的形式存储在文件中
- 可以使用任何一种文本编辑器来编辑JavaScript程序
- 单行注释使用//,块注释使用/*...*/
- 在字符串中插入特殊字符 如 “ ‘ ; &,使用 \ + 特殊字符;如: You & I sing “Happy Birthday”.document.write(“You \& I sing \”Happy Birthday\”.”)
- 声明变量:用命令var做声明
- 变量必须以字母、下划线(_)或美元符号($)
- 开头余下的字符可以是下划线、美元符号或任何的字母或数字
- 不能使用JavaScript中的关键字或者保留字做为变量名称
变量
在JavaScript中有五种基本运算类型:
- Underfunded——未定义类型(变量值为Underfunded)
- String——字符串类型(用""或者''括起来的字符或数值)
- Boolean——布尔类型(变量值为true或false)
- Null——空类型(变量值为null)
- Number——数值类型(特殊值NaN非数)
类型转换
| 运算 | 结果 |
| 数值与字符串相加 | 将数值强制转换为字符串。 |
| 布尔值与字符串相加 | 将布尔值强制转换为字符串。 |
| 数值与布尔值相加 | 将布尔值强制转换为数值 |
其他类型转换为String方法1.toString方法2.String()函数
其他类型转换为Number使用Number函数
非数字转换为NaN parseInt(),parseFloat()函数
转换为Boolean类型使用Boolean()函数
函数的格式
function 函数名( param1 , param2 , ..... ){ //函数体 return 返回值; }
var 返回值变量 = 函数名(实参列表);
注意1:JavaScript里面,根据函数名来确定调用哪一个函数!后面定义的函数覆盖前面的函数。
function add( i , j ){ return i + j; } function add( i ){ return i; } var z = add(1,2); alert(z); ==> 1
注意2:调用名,和参数个数没有没有关系,顺次将实际传入的参数对应到形式参数上。
function add( i , j , m ){ return i + j; } var z = add(1,2,4,5,6); alert(z); ==>3
注意3:函数的内部有一个属性,叫做arguments,存放了所有实际参数的值。
//求几个数字的合计
function add(){ var sum = 0 ; for( var k = 0 ; k < arguments.length ; k++ ){ sum = sum + arguments[k]; } return sum; } var z = add(1,2,4,5,6); alert(z); ==> 18
注意4:函数内部可以定义函数,该函数叫做内部函数,如果没有做特殊处理,那么该函数只能被内部调用。
消息框 (window对象)
alert()/prompt()/confirm()
对象Object
var obj = new Object(); obj.id = "1001"; obj.name = "张三丰"; obj.sex = true; obj.birthday = new Date(); obj.action = function(){ alert(this.name + "每天打太极拳!"); //this指代当前对象 }; //打印同学信息 function display( obj ){ alert(obj.id); obj.action(); } display(obj); ==> 1001 张三丰每天打太极
数组
- 按照索引赋值和取值
- 数组可以放任意数据类型的数据
- 数组的长度不固定
- 数组可以不按照序号赋值
- 没有赋值的对应的元素取值为undefined
var ary = new Array( "1001" , "张三丰" , true , function(){ alert("打太极!"); } ); ary[3](); ary[6] = "张君宝"; alert( ary[6] ); alert( ary[5] ); // undefined
重要的方法:
1. join
范例:
var ary = new Array(1,2,"张三丰"); var str = ary.join(","); alert(str); //join 方法 返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。
2.排序方法 sort
范例:
var ary = new Array(1,2,5,12,45,8,4); var newAry = ary.sort( function(i , j ){ return i - j;//如果sort方法不传递任何参数,则按照字典顺序的ascii码值进行排序。 } ); //sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。 //如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一: //负值,如果所传递的第一个参数比第二个参数小。 //零,如果两个参数相等。 //正值,如果第一个参数比第二个参数大。 alert(newAry); //按照数字进行排序
如果sort方法不传递任何参数,则按照字典顺序的ascii码值进行排序。
String类型
- charAt 方法
- indexOf 方法
- replace 方法
- split 方法
- substr 方法 | substring 方法
- toLowerCase 方法 | toUpperCase 方法
演示:
//split 方法 var str = "张三丰0杨玉环1李斯的&杨广"; var ary = str.split(/[0-9]|&/);//split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 for( var i = 0 ; i <ary.length ; i++ ){ alert(ary[i]); } //substr 方法 | substring 方法 返回一个从指定位置开始的指定长度的子字符串 返回位于 String 对象中指定位置的子字符串。 //如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到 stringvar 的最后。 function SubstrDemo(){ var s, ss; // 声明变量。 var s = "The rain in Spain falls mainly in the plain."; ss = s.substr(12, 5); // 获取子字符串。 alert(ss);// 返回 "Spain"。 } SubstrDemo(); //substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。 //substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如, strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。 //如果 start 或 end 为 NaN 或者负数,那么将其替换为0。 //子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。 function SubstringDemo(){ var ss; // 声明变量。 var s = "The rain in Spain falls mainly in the plain.."; ss = s.substring(12, 17); // 取子字符串。 alert(ss); // 返回子字符串 } SubstringDemo(); //toLowerCase 方法 | toUpperCase 方法 返回一个字符串,该字符串中的所有字母都被转化为大写字母。toUpperCase 方法对非字母字符不会产生影响。 var strVariable = "This is a STRING object"; strVariable = strVariable.toUpperCase( ); alert(strVariable);
对象Date
1. 初始化方式
dateObj = new Date()
dateObj = new Date(dateVal)
dateObj = new Date(year, month, date[,
hours[, minutes[, seconds[,ms]]]])
2. 重要的方法
getDate 方法:得到1-31之间的一个数字
getFullYear 方法:得到年
getMonth 方法:得到月 ,0-11
getTime 方法:得到从1970/01/01标准时间到该时间之间经历的毫秒数
对应有一组setXXXX方法
Date.parse(dateVal) : dateVal --》 日期的字符串
将一个字符串转换成Date对象
function DateDemo(){ var d, s = "Today's date is: "; // 声明变量。 d = new Date(); // 创建 Date 对象。 alert(d); s += (d.getMonth() + 1) + "/"; // 获取月份。 s += d.getDate() + "/"; // 获取日。 s += d.getFullYear(); // 获取年份。 alert(d.getTime()/1000/60/60/24/365); alert(s); // 返回日期。 } DateDemo(); function GetTimeTest(testdate){ var s, t; // 声明变量。 var MinMilli = 1000 * 60; // 初始化变量。 var HrMilli = MinMilli * 60; var DyMilli = HrMilli * 24; t = Date.parse(testdate); // 解析 testdate。 s = "There are " // 创建返回的字符串。 s += Math.round(Math.abs(t / DyMilli)) + " days " s += "between " + testdate + " and 1/1/70"; alert(s); // 返回结果。 } GetTimeTest("November 1, 1997 10:15 AM");
Math
ceil 方法:大于等于其数字参数的最小整数。
3.4 ==》4
floor 方法:小于等于其数值参数的最大整数。
3.4 ==》3
pow 方法:
random 方法:[0-1)的小数
round 方法:四舍五入到整数
sqrt 方法:返回数字的平方根。
var a = 4.6; var b = 2; alert(Math.ceil(a)); alert(Math.floor(a)); alert(Math.pow(2,2)); alert(Math.round(Math.random()*1000)); alert(Math.sqrt(b)); } math();

浙公网安备 33010602011771号