1、函数
1.1 概述
1.2 函数的定义(三种)
第一种
function 函数名(形式参数列表){
// 函数体
}
function sum (a+b){
document.write(a+b); //输出a+b
return a+b; //返回a+b
}
第二种
函数名=function(形式参数列表){
//函数体
}
JS中的函数不需要指定返回的数据类型,可以返回任何类型(与java不同)
第三种
函数名 = new Function("参数","函数体");
1.3 调用
1.4 特点(弱类型)
- JS中的函数在调用的时候,参数的类型没有限制,并且参数的个数也没有限制
- 如果实参少一个 那么那个形参为undefined
- 如果实参多一个 那么多出来的那个实参,没用
1.5 在JS中如果一个函数和前面的函数同名,那么会覆盖(不存在重载机制)
1.6 内置函数
parseInt() // 将字符型转换成整型
字符串不是数字开头 返回 NaN
parseFloat() // 字符转浮点
isNaN() // 判断一个数值是否是NaN
isFinite() // 判断数值是否有限
eval() // 把字符串当作一段js代码来执行
**
escape() //将字符串中特殊字符进行编码
unescape() // 解码(escape() )
encodeURI() // 将URI 字符串进行编码
decodeURI() // 对已经编码的URI进行解码
2、类
2.1 json对象
var s = {
name:"zhangsan",
age:15,
//添加函数
eat : function(){
alert("eat方法")
}
}
2.2 给对象添加属性
**s.addr = "北京市";**
删除对象的属性 delete s[“name”];
2.3 在JS中如何定义类,如何new对象
定义类
和定义函数一样,就看怎么用,如果用了new就是类,没有new就是函数
function 类名(形式参数列表){
// 类体
}
**
类名=function(形式参数列表){
//类体
}
创建对象
new 类名(实参)
在js中如果输出一个引用 会自动调用 toString()
js中类的定义,同时又是一个构造函数(构造器)的定义
例如
function User(a,b,c){
this.name = a ;
this.add = b;
this.id = c;
}
this声明属性,表示当前对象
访问对象的属性
var s = new User(“zhangsan “,”beijingshi”,11);
s.add ; // 访问属性
s.[“add”]; //也可以这样访问
2.4 在类里面定义函数
语法
this.函数名 = function(){
// 函数体
}
prototype属性
语法
类名.prototype.需要增加的函数名 = function(){
// 函数体
}
例如
User.prototype.getAdd = function (){
return this.add;
}
通过Object对象创建自定义对象
obj = new Object(任意一种数据类型)
通过obj.name = "zhangsan"; 来给对象添加属性
通过obj.doSome = function(){
alert("zhangsan");
}
//给对象添加方法
第二种添加方法
//通过第二种方法添加方法
person.doSome = doSome;
function doSome(){
alert("这是第二种添加方法")
}
person.doSome();