无为清净楼资源网 Design By www.qnjia.com
javascript中最有特色而又让你困惑的function算一个了
下面看一下常用操作
复制代码 代码如下:
function doit(){
.....
}
doit();
javascript中的函数我们可以把它当作方法使用
复制代码 代码如下:
var obj=new Object();
obj.say=function(){
.....
}
obj.say();
而function实际上就是对象(即Function类型的实例)
复制代码 代码如下:
function result(num1, num2) {
return num1 + num2;
}
var result = new Function("num1", "num2", "return num1+num2");
以上执行效果是一样的,同时function result还可以这样写(即函数表达式)
复制代码 代码如下:
var result=function(num1,num2){
return num1+num2;
}
这俩种写法的唯一区别是function是优先执行,而函数表达式是代码执行到才执行,另外每个函数内部都有一个类似数组的arguments对象
函数执行动态参数,即
复制代码 代码如下:
function result(){
return arguments[0]+arguments[1];
}
result(1,2);
arguments在动态传递参数方面经常使用
既然说function是对象,那么它应该也具体属性
复制代码 代码如下:
function person(){
....
}
person.name="xxxx";
person.say=function(){
alert(this.name);
}
person.say(); //alert("xxxx")
我们还可以把它当成类,而函数体相当于构造函数
复制代码 代码如下:
function Person(nm){
this.name=nm;
this.say=function(){
alert(nm);
alert(this.name);
}
}
var p1=new Person("ygm1");
p1.say(); //alert ygm1 ygm1
var p2=new Person("ygm2");
p2.say(); //alert ygm2 ygm2
注意这里要用this.name 因为this代表的是当前对象,如果直接alert(name) 求的是window对象的属性,同时传进来的参数nm在方法say中可以直接用,其实这涉及到作用域链,每个function体就是一个作用域,子域可以访问到父域的属性,而反过来却不行(其实也是可以取到的,设计到闭包一些知识,这里不做详解..)
与其他一些OO语言相比,每个类都可以有一些静态属性或方法,而javascript通过原型来模拟以达到每个对象共享其属性
复制代码 代码如下:
function Person(num) {
.....
}
Person.prototype.name = "ygm";
alert(new Person().name);
但OO语言的静态方法都是由类去调用,不能实例化本身的,javascript中由于其特殊性恰好相反
注意这里alertPerson的name属性,如果函数体内没有查找到name则会到原型中去找,如果查找到则会屏蔽原型中的name直接返回其值
其实每创建一个function的同时也创建了一个原型对象,而原型对象引用自object,所以object是所有对象的基类
我们可以重写原型对象
Person.prototype=new ParentPerson();
Person的原型对象指向ParentPerson对象,而ParentPerson对象又指向自己的原型对象...,也就形成了原型链...
好了 今天就写到这里...
下面看一下常用操作
复制代码 代码如下:
function doit(){
.....
}
doit();
javascript中的函数我们可以把它当作方法使用
复制代码 代码如下:
var obj=new Object();
obj.say=function(){
.....
}
obj.say();
而function实际上就是对象(即Function类型的实例)
复制代码 代码如下:
function result(num1, num2) {
return num1 + num2;
}
var result = new Function("num1", "num2", "return num1+num2");
以上执行效果是一样的,同时function result还可以这样写(即函数表达式)
复制代码 代码如下:
var result=function(num1,num2){
return num1+num2;
}
这俩种写法的唯一区别是function是优先执行,而函数表达式是代码执行到才执行,另外每个函数内部都有一个类似数组的arguments对象
函数执行动态参数,即
复制代码 代码如下:
function result(){
return arguments[0]+arguments[1];
}
result(1,2);
arguments在动态传递参数方面经常使用
既然说function是对象,那么它应该也具体属性
复制代码 代码如下:
function person(){
....
}
person.name="xxxx";
person.say=function(){
alert(this.name);
}
person.say(); //alert("xxxx")
我们还可以把它当成类,而函数体相当于构造函数
复制代码 代码如下:
function Person(nm){
this.name=nm;
this.say=function(){
alert(nm);
alert(this.name);
}
}
var p1=new Person("ygm1");
p1.say(); //alert ygm1 ygm1
var p2=new Person("ygm2");
p2.say(); //alert ygm2 ygm2
注意这里要用this.name 因为this代表的是当前对象,如果直接alert(name) 求的是window对象的属性,同时传进来的参数nm在方法say中可以直接用,其实这涉及到作用域链,每个function体就是一个作用域,子域可以访问到父域的属性,而反过来却不行(其实也是可以取到的,设计到闭包一些知识,这里不做详解..)
与其他一些OO语言相比,每个类都可以有一些静态属性或方法,而javascript通过原型来模拟以达到每个对象共享其属性
复制代码 代码如下:
function Person(num) {
.....
}
Person.prototype.name = "ygm";
alert(new Person().name);
但OO语言的静态方法都是由类去调用,不能实例化本身的,javascript中由于其特殊性恰好相反
注意这里alertPerson的name属性,如果函数体内没有查找到name则会到原型中去找,如果查找到则会屏蔽原型中的name直接返回其值
其实每创建一个function的同时也创建了一个原型对象,而原型对象引用自object,所以object是所有对象的基类
我们可以重写原型对象
Person.prototype=new ParentPerson();
Person的原型对象指向ParentPerson对象,而ParentPerson对象又指向自己的原型对象...,也就形成了原型链...
好了 今天就写到这里...
标签:
function
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年11月19日
2024年11月19日
- 好薇2024《兵哥哥》1:124K黄金母盘[WAV+CUE]
- 胡歌.2006-珍惜(EP)【步升大风】【FLAC分轨】
- 洪荣宏.2014-拼乎自己看【华特】【WAV+CUE】
- 伊能静.1999-从脆弱到勇敢1987-1996精选2CD【华纳】【WAV+CUE】
- 刘亮鹭《汽车DJ玩主》[WAV+CUE][1.1G]
- 张杰《最接近天堂的地方》天娱传媒[WAV+CUE][1.1G]
- 群星《2022年度发烧天碟》无损黑胶碟 2CD[WAV+CUE][1.4G]
- 罗文1983-罗文甄妮-射雕英雄传(纯银AMCD)[WAV+CUE]
- 群星《亚洲故事香港纯弦》雨果UPMAGCD2024[低速原抓WAV+CUE]
- 群星《经典咏流传》限量1:1母盘直刻[低速原抓WAV+CUE]
- 庾澄庆1993《老实情歌》福茂唱片[WAV+CUE][1G]
- 许巍《在别处》美卡首版[WAV+CUE][1G]
- 林子祥《单手拍掌》华纳香港版[WAV+CUE][1G]
- 郑秀文.1997-我们的主题曲【华纳】【WAV+CUE】
- 群星.2001-生命因爱动听电影原创音乐AVCD【MEDIA】【WAV+CUE】