博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript08-function
阅读量:5859 次
发布时间:2019-06-19

本文共 1746 字,大约阅读时间需要 5 分钟。

  hot3.png

5.prototype
function say(num){ /**在函数对象中有一个属性叫做arguments,通过这个属性可以获取 相应的参数值,这个属性是一个数组,其实就是传递进来的参数 */ alert(arguments.length); for(var i=0;i
6.this
/*当需要创建一个类的时候,设置类的属性和方法需要通过this关键字来引用  * 但是特别注意:this关键字在调用时会根据不同的调用对象变得不同  */ var color="red"; function showColor(){  alert(this.color); }  /*创建一个类,有一个color的属性和一个show()的方法 */ function Circle(color){  this.color=color;  this.showColor=showColor; }  var c=new Circle("yellow"); //使用c来调用show()方法,等于调用showColor()方法 //此时的this是c,所有color是yellow c.showColor(); /*此时调用的对象等于是window,showColor的this就是window, 所以就会找window的color,即red*/ showColor();7.length
function fn1(){ }function fn2(num1,num2){ }function fn3(num1){ }//函数的length就表示该函数所期望的参数值 alert(fn1.length);//0alert(fn2.length);//2alert(fn3.length);//18.callApply
function sum(num1,num2){ return num1+num2;}function callSum1(num1,num2){ //使用sum这个函数来完成一次调用,调用的参数就是callSum1()这个函数的参数  /*apply的第二个参数表示一组参数数组 */ return sum.apply(window,arguments);}function callSum2(num1,num2){ //关键是第二个参数是数组   return sum.apply(window,[num1,num2]);}//alert(callSum2(12,22));//alert(callSum2(22,32));function callSum3 (num1,num2){ //通过参数列表来完成传递,其他和apply没有任何差别   return sum.call(this,num1,num2);}alert(callSum3(22,33));9.call
/*当需要创建一个类的时候,设置类的属性和方法需要通过this关键字来引用  * 但是特别注意:this关键字在调用时会根据不同的调用对象变得不同  */ var color="red"; function showColor(){  alert(this.color); }  /*创建一个类,有一个color的属性和一个show()的方法 */ function Circle(color){  this.color=color;  //this.showColor=showColor; }  var c=new Circle("yellow"); showColor.call(this);//使用上下文调用,结果是red showColor.call(c);//上下文对象是c,结果是yellow /*通过以上发现:使用call和apply之后,对象中可以不需要定义方法了  这就是call和apply的一种运用 */

转载于:https://my.oschina.net/686991/blog/362265

你可能感兴趣的文章
常用查找算法总结
查看>>
grep 零宽断言
查看>>
被神话的大数据——从大数据(big data)到深度数据(deep data)思维转变
查看>>
修改校准申请遇到的问题
查看>>
【DL-CV】浅谈GoogLeNet(咕咕net)
查看>>
python大佬养成计划----win下对数据库的操作
查看>>
Mysql 中创建索引和索引的使用问题
查看>>
(cons '(〇 . 前言) 《为自己写本-Guile-书》)
查看>>
监控软件zabbix之安装
查看>>
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VALID_ARCHS=armv7 armv7s)
查看>>
Exchange Server 2016 独立部署/共存部署 (七)—— DAG功能测试
查看>>
Linq==数据访问层?
查看>>
对RTMP视频流进行BitmapData.draw()出错的解决办法
查看>>
Linux 进程中 Stop, Park, Freeze【转】
查看>>
Vertica的这些事<十>—— vertica中group by 和join 语句的优化
查看>>
Spark修炼之道(基础篇)——Linux大数据开发基础:第九节:Shell编程入门(一)...
查看>>
MySQL中如何启用InnoDB数据引擎
查看>>
Duplicate Symbol链接错误的原因总结和解决方法[转]
查看>>
Spring两种依赖注入方式的比较
查看>>
适配器模式
查看>>