js 定义函数的几种方法 以及如何调用
/*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 定义函数的几种方法 以及如何调用相关推荐
- js function定义函数的4种方法
js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用. 复制代码代码如下: 复制代码代码如下: function func(){} 或 var func=funct ...
- js定义函数的两种形式及区别
定义函数有两种方法: (1)函数表达式方式 let myFun=function(){console.log("当前是函数表达式"):} (2)函数声明形式 function my ...
- JS中定义函数的几种方法
1. 第一种定义方式:function 函数名 () { 函数体 }: 调用:函数名 () ; 2. 第二种定义方式:var 函数名 = new Function("参数列表&qu ...
- Matlab 定义函数的几种方法
1.函数文件+调用命令文件:需单独定义一个自定义函数的M文件 例:自定义求和函数 需要自定义一个 my_sum.m 的文件来存放函数 function[s]=my_sum(n) s=0; for i= ...
- JS定义函数的两种方式:函数声明和函数表达式
函数声明 关于函数声明的方式,它的一个重要的特性就是函数声明提升(function declaration hoisting),意思是在执行代码之前会先读取函数声明.这就意味着可以把函数声明放在调用它 ...
- Matlab自定义函数的几种方法
Matlab自定义函数的几种方法_czw-CSDN博客_matlab自定义函数 Matlab 定义函数的几种方法_海底小星星的博客-CSDN博客_matlab定义函数
- html中js定义的方法无效,javascript中定义函数有几种常用方法?
JavaScript函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块.使用函数您能够对代码进行复用:只要定义一次代码,就可以多次使用它. JavaScript定义函数的几种常用方法: 1.使 ...
- c++语言定义排序函数,关于C++中定义比较函数的三种方法小结
C++编程优与Pascal的原因之一是C++中存在STL(标准模板库).STL存在很多有用的方法. C++模板库中的许多方法都需要相关参数有序,例如Sort().显然,如果你想对一个集合进行排序,你必 ...
- C语言中比较大小的函数模板,关于C++中定义比较函数的三种方法
关于C++中定义比较函数的三种方法 C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之.以下,小编为大家介绍关于C++中定义比较函数的三种方法,供 ...
- STM32延时函数的四种方法:普通延时(2种)、SysTick 定时器延时(2种)
STM32延时函数的三种方法:普通延时.SysTick 定时器延时(1.中断方式:2.非中断方式) 单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us( )和毫秒级delay_ ...
最新文章
- 浅谈 PHP 神盾的解密过程
- AtCoder AGC002E Candy Piles (博弈论)
- The prefix “mvc“ for element “mvc:annotation-driven“ is not bound 异常
- 深入WPF中的图像画刷(ImageBrush)之1——ImageBrush使用举例
- MongoDB 从节点 延迟的测试
- android案例_Android实训案例——计算器的运算逻辑
- 第七章 线程的调度、优先级和亲缘性(4)
- Perl Redis 连接测试脚本,获取list长度
- 《HTML5 Canvas游戏开发实战》——3.3 自定义画板
- python脚本修改深度学习标签类别
- Jcreator5.0
- 步进电机驱动实验(89C51 + KEIL + Proteus)
- SQLSERVER去重
- 影子卫士 Shadow Defender 2011
- FFmpeg获取视频旋转角度rotate获取不到的问题解决
- 制药企业的发展趋势--行业公司数据调研
- 【笔记】CMake构建C++工程
- OSPF协议(NA、NP知识)
- 《勋伯格和声学》读书笔记(十):减七和弦
- 【全志T113-S3_100ask】4G模块EC200A的使用
热门文章
- 国产操作系统剽窃Linux内核可耻!
- 项目--Asp.net全局变量的设置和读(web.config 和 Gloab)
- android 使用android.support.v7 添加ActionBar
- 深入理解asp.net里的IHttpHandler
- 算法笔记_138:稳定婚姻问题(Java)
- Linux服务器jps报process information unavailable
- Linux sed 批量替换多个文件中的字符串【转载】
- 2014年读过的那些书
- Python3利用BeautifulSoup4抓取站点小说全文的代码
- LeetCode题解——Reverse Integer