函数是经常会用的工具, 这里总结一下关于在 js 中的 5种函数调用的模式如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 函数调用5种模式 // 1. 函数声明调用模式
function add(a, b) {
return a + b
} // 2. 匿名函数调用模式
var sum = function(a, b) {
return a + b
}
console.log(sum(3, 5)) var sub = function (a, b) {
return a - b
} console.log('add: ', add(3, 5))
console.log('sub: ', sub(3, 5)) // 3. 方法调用模式
var obj = {
name: 'youge',
getName: function () {
return this.name
}
} console.log(obj.getName()) // 若在某个方法中返回的是函数对象本身 this 则可以进行链式调用
var obj2 = {
name: 'youge2',
getName: function () {
console.log(this.name)
},
setName(name) {
this.name = name
return this
}
} obj2.setName('cj').getName() // 4. 构造器调用模式
function Person(name) {
this.name = name
}
// 函数定义在其原型上
Person.prototype.getName = function () {
return this.name
}
// 通过对象实例进行调用
var youge = new Person('youge')
console.log(youge.name) // 5. call(), apply函数调用模式
function sum(a, b) {
console.log(a + b)
}
// 定义一个对象 dog, 当 sum 调用时, this 则会指向 dog
var dog = {}
sum.call(dog, 1, 2)
sum.apply(dog, [1, 2]) </script>
</body>
</html>

JS函数调用的5种模式的更多相关文章

  1. vue.js不仅是一种模式,也是一种工程组织方式

    vue.js不仅是一种模式,也是一种工程组织方式

  2. Javascript函数调用的四种模式

    一 前言 Javascript一共有四种调用模式:方法调用模式.函数调用模式.构造器调用模式以及apply调用模式.调用模式不同,对应的隐藏参数this值也会不同. 二 方法调用模式 函数作为对象的属 ...

  3. 浅谈 JS 创建对象的 8 种模式

    1.Object 模式 var o1 = {};//字面量的表现形式 var o2 = new Object; var o3 = new Object(); var o4 = new Object(n ...

  4. JS函数调用的四种方法

    js的函数调用会免费奉送两个而外的参数就是 this 和 arguments .arguments是参数组,他并不是一个真实的数组,但是可以使用.length方法获得长度. 书上有说4中调用方式: 方 ...

  5. js函数调用的几种方法

    js的函数调用会免费奉送两个而外的参数就是 this 和 arguments .arguments是参数组,他并不是一个真实的数组,但是可以使用.length方法获得长度. 书上有说4中调用方式: 方 ...

  6. 面向对象的程序设计之JS创建对象的9种模式及其优缺点

    目录 1.new Object () 2.字面式创建对象 3.工厂模式 4.构造函数模式 4.1.将构造函数当作函数 4.2.构造函数的问题 5.原型模式 5.1.理解原型对象 5.2.原型与in操作 ...

  7. JS函数调用的方法

    JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式 1.方法调用模式:先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来 ...

  8. JS函数的四种调用模式

    函数在js中具有四种身份,分别为函数.方法.构造函数.apply或call调用 函数调用    函数调用模式中this指全局对象(window) var f1 = function() { alert ...

  9. 第164天:js方法调用的四种模式

    js方法调用的四种模式 1.方法调用模式 function Persion() { var name1 = "itcast", age1 = 19, show1 = functio ...

  10. node.js异步编程的几种模式

    Node.js异步编程的几种模式 以读取文件为例: 1.callback function const fs = require('fs'); //callback function fs.readF ...

随机推荐

  1. 如何在JMeter中配置断言,将非200状态码视为测试成功

    如何在JMeter中配置断言,将非200状态码视为测试成功 引言 在接口测试中,HTTP响应状态码是判断请求是否成功的重要依据.通常情况下,状态码200表示请求成功,而其他状态码则可能表示各种类型的错 ...

  2. Trae初体验

    前情 自从AI IDE面世以来,网络上到处流传程序员要失业了,小白也能轻松完成程序开发了,某某0基础靠AI上架了苹果应用,平时工作也有偶尔用用AI工具的我,都觉得这些都是标题党文章不予理会的,直到看到 ...

  3. MyBatis mapper.xml中SQL处理小于号与大于号 和小于等于号

    这种问题在xml处理sql的程序中经常需要我们来进行特殊处理. 其实很简单,我们只需作如下替换即可避免上述的错误: < <= > >= & ' " < ...

  4. Datagrip 破解

    题记部分 方法一 [参考链接]:DataGrip 2023.2最新安装使用教程(附激活码,亲测好用)_糖果果爱分享的技术博客_51CTO博客 [软件版本]:datagrip-2023.3.4.win ...

  5. Maven - 项目的JDK编译level是1.5,修改不掉??

    背景   idea中的maven项目,父项目和子项目的Project Structure的language level都是1.5,怎么修改为8?尝试修改并应用后会失效,还是会自动恢复为1.5. 1.S ...

  6. Hadoop - 执行start-dfs.sh、stop-dfs.sh 报错处理

    执行 sbin/start-dfs.sh 和 sbin/stop-dfs.sh 报错,且进程仍然在 start-dfs.sh和stop-dfs.sh会去hadoop-env.sh中找JDK的值,但是设 ...

  7. devops第一步:CentOS初始化流程

    设置IP vi /etc/sysconfig/network-scripts/ifcfg-ens192 修改下面两个配置 BOOTPROTO=static ONBOOT=yes 添加以下配置 # 改成 ...

  8. 【Hypermesh】TetraMesh Panel 常用选项详解

    结合Hypermesh 2020 帮助文档和自己的一点使用经验,整理了这个博客.

  9. pandas contains 函数

    Series.str.contains( pat, # 要查询的字符串.要查询的或者正则表达式 case=True, # 是否对大小写敏感 flags=0, # 用来传给正则模块的参数,比如 flag ...

  10. 写于vue3.0发布前夕的helloworld之二

    接着,继续走,来到了vm.$mount. 开始生成render函数,生成VNode,由于是第一次加载,所以patch机制为只删除前一个dom节点机制,下面都会讲到. 先到$mount: Vue.pro ...