首页 > 代码库 > 关于Javascipt基础4
关于Javascipt基础4
这次说说函数和一部分对象。
函数
函数就是完成某个功能的一组语句,函数由关键字 function + 函数名 + 一组参数定义;
函数在定义后可以被重复调用,通常将常用的功能写成一个函数,利用函数可以使代码的组织,结构更多清晰。
基本语法: function funName (arg0, arg1, … argN){ //statements }(组成函数必要的是function, 函数名,(),{}。()里面可以没有参数。)
例1: function say_hello (name, msg){
alert(“hello”+ name + “:”+ msg);
} say_hello(“david”, “how are you today?”);
例2:使用 return 语句从函数返回值:function sum (num1, num2){ return num1 + num2; } var s = sum(1, 2); alert(s);
注意: 1.位于return 语句之后的 任何代码都永远不会执行!
2.在JavaScript中,不一定要指定返回值!
3. 定义函数的参数时,如果调用函数时没有传进参数,并不会报错,但可以在函数里面判断一下是否有传进参数,例如可以这样判断:
if(variable == ‘undefined‘ || variable == null){ variable=‘1’; //可以给他一个默认值 }
(如果函数的执行代码只用一个参数,那么哪怕参数有两个,也只会用第一个参数而已。)
变量的作用域
变量既可以是全局,也可以是局部的。
全局变量:可以在脚本中的任何位置被引用,一旦你在某个脚本里声明了全局变量,你就可以 在这个脚本的任何位置(包括函数内部)引用它,全局变量的作用域是整个脚本;
局部变量:只存在于对它做出声明的函数内部,在函数的外部无法相用它,局部变量的作用域 仅限于函数内部;(所以还是能用就用局部的变量吧)
例: function square(num){
var total; total = num * num; return total;
} var total = 50; alert(total);
var number = square(20); alert(total);
var global = "global";//全局变量 在函数外用var声明的变量。
function test(){
var local="local"; //局部变量 定义在函数当中,用var声明的是局部变量。
global2="global2"; //全局变量 定义在函数当中,但是没有用var声明的是全局变量。
}
JavaScript的内部函数
在javascript中有一些功能是很常用的,它们以全局函数的形式提供给用户,这些函数称为内部函数。
eval()
eval 接受一个字符串类型的参数,将这个字符串作为代码在上下文环境中执行,并返回执行的结果;
例: var i = 1; eval(“i = i + 1”); eval(“alert(i);”);(就是说能够解析字符串里的代码)
parseInt 和 parseFloat 将字符串转换为数字
例:
var t3=parseInt("10.0");//==>10
var f3=parseFloat("10.0");//==>10
var t1=parseInt("i = 4 + 1");//==>NaN
var f1=parseFloat("i = 4 + 1");//==>NaN
var t2=parseInt("1.0555 = i - 6");//==>1
var f2=parseFloat("1.0555 = i - 6");//==>1.0555
escape 和 unescape
进行URL编码和解码
例: var url = “http://www.baidu.com/s?name=小米”; url = escape(url); alert(url); alert(unescape(url));
utf-8 编码:多国语言编码 GB2312/GBK:中文简体
对象
Javascript是一种面向对象的语言,因此可以使用面向对象的思想来进行 javascript程序设计
对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体。(是函数的属性=方法)
本地对象(就是一开始有的内置对象)
1.Date 日期对象用来处理日期和时间。
var myDate = new Date(); myDate.getFullYear(); //获取完整的年份(4位,1970-????) (注意 这里有一个new
现阶段我对此的了解是 它表示新建一个对象放进myDate里,如果没有new,相当于把Date的值放给myDate,而不是对象)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString(); //获取日期与时间
2.Math 对象
Math 对象用来处理复杂的数学运算。
Math对象是javascript的一个全局对象,不需要用new 创建
Math.abs(-2); 该方法可返回一个数的绝对值。
Math.round(5.5); 该方法可把一个数字舍入为最接近的整数。
Math.random(); 该方法可返回介于 0(包含) ~ 1(不包含) 之间的一个随机数。
Math.ceil(1.4); ceil() 方法返回大于等于x的最小整数。(取大整)
Math.floor(1.6); floor() 方法返回小于等于x的最大整数。(取小整)
Math.pow(4,3); pow() 方法返回 x 的 y 次幂。 (4的3次方)
3.Array 数组对象
定义数组的 3种方式
var week = new Array();
var week = new Array(‘星期一’ , ‘星期二, ‘星期三’);
var week =[‘星期一’ , ‘星期二, ‘星期三’];
常用方法:(以下方法也适用于字符串 因为字符串是特殊的数组)
获取数组的长度 .length: alert(week.length);
获取数组下标所对应的值: alert(week[0]);
数组元素添加:
将一个或多个新元素添加到数组结尾,并返回数组新长度
var week_len = week.push(‘星期四’,‘星期五’);
将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
var week_len = week.unshift(‘星期日’);
将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。
arr3.splice(0,0,“abc”);
document.write(arr3[0]);
数组元素删除:
var del = ["aa",23,345,56,34,"bb"];
var del_last = del.pop(); //移除最后一个元素并返回该元素值
var del_first = del.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
var del_arr = del.splice(0,2); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
document.write(del_arr);
今天就说到这里了。
关于Javascipt基础4