/*1.方法调用模式:先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject 对象。*/var car = {carId:123,carName:"奥迪",carColor:"red",say:function(){console.log(this.carName+" color is "+this.carColor);}};car.say();/*2.函数调用模式定义一个函数,设置一个变量名保存函数,这时this指向到window对象。*/var mycar = function(name,color){return "my car is " +color+" and "+name ;}console.log(mycar("奥迪","红色"));/*3.构造器调用模式定义一个函数对象,在对象中定义属性,在其原型对象中定义方法。在使用prototype的方法时,必须实例化该对象才能调用其方法。*/var yourcar = function(name,color){this.name = name;this.color = color;};yourcar.prototype ={say:function(){console.log("your car is " +this.name + " and " +this.color);}};var yourcar = new yourcar("奔驰","蓝色");yourcar.say();/*4.apply,call调用模式*/function count(num1, num2) { return num1 + num2; } console.log(count.call(window, 10, 10)); //20 console.log(count.apply(window,[10,20])); //30window.a=100;window.b=300;var myobject={a:40,b:50};var sum = function(){return this.a+this.b;};var sum1 = sum.call(window); // var sum2 = sum.call(myobject);var sum2 = sum.apply(myobject); console.log(sum1+"========="+sum2);// 发现apply()和call()的真正用武之地是能够扩充函数赖以运行的作用域,如果我们想用传统的方法实现window.a=100;window.b=300;var myobject={a:40,b:50};function sum(){console.log(this.a+this.b);}console.log(sum());myobject.sumnumber = sum;console.log(myobject.sumnumber());window.color = "red"; var o = { color: "blue" }; function sayColor(){ console.log(this.color); } sayColor();var OSayColor = sayColor.bind(o); OSayColor(); //blue

转载于:https://www.cnblogs.com/zhuliming-java/p/5395625.html

js 定义函数的几种方法 以及如何调用相关推荐

  1. js function定义函数的4种方法

    js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用. 复制代码代码如下: 复制代码代码如下: function func(){}  或  var func=funct ...

  2. js定义函数的两种形式及区别

    定义函数有两种方法: (1)函数表达式方式 let myFun=function(){console.log("当前是函数表达式"):} (2)函数声明形式 function my ...

  3. JS中定义函数的几种方法

    1. 第一种定义方式:function  函数名 () { 函数体 }: 调用:函数名 () ; 2. 第二种定义方式:var  函数名  =  new  Function("参数列表&qu ...

  4. Matlab 定义函数的几种方法

    1.函数文件+调用命令文件:需单独定义一个自定义函数的M文件 例:自定义求和函数 需要自定义一个 my_sum.m 的文件来存放函数 function[s]=my_sum(n) s=0; for i= ...

  5. JS定义函数的两种方式:函数声明和函数表达式

    函数声明 关于函数声明的方式,它的一个重要的特性就是函数声明提升(function declaration hoisting),意思是在执行代码之前会先读取函数声明.这就意味着可以把函数声明放在调用它 ...

  6. Matlab自定义函数的几种方法

    Matlab自定义函数的几种方法_czw-CSDN博客_matlab自定义函数 Matlab 定义函数的几种方法_海底小星星的博客-CSDN博客_matlab定义函数

  7. html中js定义的方法无效,javascript中定义函数有几种常用方法?

    JavaScript函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块.使用函数您能够对代码进行复用:只要定义一次代码,就可以多次使用它. JavaScript定义函数的几种常用方法: 1.使 ...

  8. c++语言定义排序函数,关于C++中定义比较函数的三种方法小结

    C++编程优与Pascal的原因之一是C++中存在STL(标准模板库).STL存在很多有用的方法. C++模板库中的许多方法都需要相关参数有序,例如Sort().显然,如果你想对一个集合进行排序,你必 ...

  9. C语言中比较大小的函数模板,关于C++中定义比较函数的三种方法

    关于C++中定义比较函数的三种方法 C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之.以下,小编为大家介绍关于C++中定义比较函数的三种方法,供 ...

  10. STM32延时函数的四种方法:普通延时(2种)、SysTick 定时器延时(2种)

    STM32延时函数的三种方法:普通延时.SysTick 定时器延时(1.中断方式:2.非中断方式) 单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us( )和毫秒级delay_ ...

最新文章

  1. 浅谈 PHP 神盾的解密过程
  2. AtCoder AGC002E Candy Piles (博弈论)
  3. The prefix “mvc“ for element “mvc:annotation-driven“ is not bound 异常
  4. 深入WPF中的图像画刷(ImageBrush)之1——ImageBrush使用举例
  5. MongoDB 从节点 延迟的测试
  6. android案例_Android实训案例——计算器的运算逻辑
  7. 第七章 线程的调度、优先级和亲缘性(4)
  8. Perl Redis 连接测试脚本,获取list长度
  9. 《HTML5 Canvas游戏开发实战》——3.3 自定义画板
  10. python脚本修改深度学习标签类别
  11. Jcreator5.0
  12. 步进电机驱动实验(89C51 + KEIL + Proteus)
  13. SQLSERVER去重
  14. 影子卫士 Shadow Defender 2011
  15. FFmpeg获取视频旋转角度rotate获取不到的问题解决
  16. 制药企业的发展趋势--行业公司数据调研
  17. 【笔记】CMake构建C++工程
  18. OSPF协议(NA、NP知识)
  19. 《勋伯格和声学》读书笔记(十):减七和弦
  20. 【全志T113-S3_100ask】4G模块EC200A的使用

热门文章

  1. 国产操作系统剽窃Linux内核可耻!
  2. 项目--Asp.net全局变量的设置和读(web.config 和 Gloab)
  3. android 使用android.support.v7 添加ActionBar
  4. 深入理解asp.net里的IHttpHandler
  5. 算法笔记_138:稳定婚姻问题(Java)
  6. Linux服务器jps报process information unavailable
  7. Linux sed 批量替换多个文件中的字符串【转载】
  8. 2014年读过的那些书
  9. Python3利用BeautifulSoup4抓取站点小说全文的代码
  10. LeetCode题解——Reverse Integer