首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript函数 ① ( 函数引入 | 函数声明 | 函数调用 )

一、JavaScript 函数 1、函数引入 JavaScript 代码编写时 , 会遇到 定义 大量相同或相似代码的 场景 , 这些代码可能需要重复使用 , 这种情况下就需要 将 这些代码 定义在 函数...中 ; JavaScript 函数 是一段可以重复使用的代码块 , " 函数 " 可以 接受 若干输入参数 , 在 函数体 中进行 计算 或 执行操作,并返回 返回值 ; 借助 函数 可以 组织和重用代码..., 使代码更加清晰和易于维护 ; 函数 的 目的 就是 重复使用代码 ; 使用函数 就是 声明函数调用函数 ; 2、函数声明 在 JavaScript 中 , 使用 function 关键字 声明函数...字符串 ; 3、函数调用 函数声明后 , 本身不会自动执行 函数体中的代码 , 只有 调用函数后 , 才会执行 函数体代码 ; 函数调用 语法格式 : functionName(argument1, argument2..., ...); functionName 是 要调用函数函数名 ; argument1, argument2, ...

9010

匿名函数调用方法_javascript匿名函数

首先看一下普通函数和匿名函数的区别 //普通函数 function sum(a,b){ return a+b; console.log("我是一个普通函数") } //匿名函数,不能单独使用...function (a,b){ return a+b; console.log("我是一个匿名函数") } 没错,匿名函数简单来说就是普通函数去掉名字,但是他不能单独定义与使用,下面是匿名函数的一些使用场景...: 用于函数表达式、作为返回值、用于定义对象方法、作为回调函数、用于立即执行函数、用于DOM元素注册事件 1.用于函数表达式 var sum = function (num1, num2) {...setTimeout(function() { console.log('匿名函数作为回调函数'); }, 1000); 4.用于执行立即函数 常用形式一:名函数后面跟一个括号,再将整个包裹在一个括号运算符中...特别说明:若此立即执行函数后面立马又跟着一个立即执行函数,一定要在结尾加分号,否则后面的立即执行函数会报错!

1.5K20

JavaScript 的 this 小结纯粹的函数调用作为对象方法的调用作为构造函数调用apply 调用

JavaScript 语言的一个关键字。 它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用。 ? 上面代码中,函数test运行时,内部会自动有一个this对象可以使用。...函数的不同使用场合,this有不同的值。 总的来说,this就是函数运行时所在的环境对象。 下面分情况,详细讨论 纯粹的函数调用 函数的最通常用法,属全局性调用,this即代表全局对象。 ?...运行结果是1 作为对象方法的调用 函数还可以作为某个对象的方法调用,这时this就指这个上级对象 ? 结果:1 作为构造函数调用 通过这个函数,可以生成一个新对象。this就指这个新对象。 ?...apply 调用 apply()是函数的一个方法,作用是改变函数调用对象。 它的第一个参数就表示改变后的调用这个函数的对象。因此,这时this指的就是这第一个参数。 ?...apply()的参数为空时,默认调用全局对象。因此,这时的运行结果为0,证明this指的是全局对象。

2.6K20

JavaScript 使用new关键字调用函数

使用new关键字调用函数 test.js 代码如下 function Person(name, age, obj) { var o = new Object(); o.name = name...扩展 修改test.js代码 定义变量,存放匿名函数的地址,然后使用该变量来调用函数 var Person = function(name, age, obj) { var o = new Object...Person("nike", 29, "software engineer"); console.log(friend); friend.sayName(); 控制台输出 同上一步结果 结论 1、new js函数名称...(参数列表),会把对应的函数当做构造函数来使用,如果函数未定义返回值,默认的会返回通过构造函数(被调用函数)构造的对象实例;如果函数定义了返回值,则返回定义的返回值。...2、使用new js函数名称(参数列表)调用函数函数中的 this 代表了新构造的对象实例。 3、可以直接通过定义变量,存放匿名函数的地址,然后使用该变量来调用函数

1K30

JavaScript-立即调用函数表达式(IIFE)

1.4 IIFE (1)但有时需要在定义函数之后,立即调用函数函数只使用一次)。...这种函数就叫做立即执行函数,全称为立即调用函数表达式IIFE(Imdiately Invoked Function Expression) 二、立即调用函数表达式 2.1 概念 立即调用函数表达式(IIFE...)是一个在定义时就会立即执行的 JavaScript 函数。...(2)JavaScript 没用私有作用域的概念,如果是在多人开发的项目,你在全局或局部作用域中声明的变量,可能会被其他人不小心用同名的变量给 覆盖,根据JavaScript 函数作用域链的特性,使用这种技术可以模仿一个私有作用域...参考文章 深入理解JavaScript系列(4):立即调用函数表达式 汤姆大叔 (译)详解javascript立即执行函数表达式(IIFE) 韩子迟 深入理解闭包系列第三篇——IIFE 小火柴的蓝色理想

1K20

JavaScript 调用

(anonymous)中,并且压入调用栈(也就是入栈)开始逐行执行 首先是第一行 global begin,压入调用栈 执行 global begin 在控制台打印完毕后,出栈 接下来就遇到了函数的声明...bar 和 foo ,只有代码的调用才会入栈,声明是不会的 遇到了 foo 函数调用,压入调用栈 执行 foo 函数,foo 函数第一行是 foo task 压入调用栈 执行 foo task (控制台打印...) 完成后,往下就是调用了 bar 函数,将 bar 函数压入调用栈 在 bar 函数执行过程中将 bar task 入栈 执行 bar task (控制台打印)完后,也代表我们的 bar 函数执行完成...,bar 函数执行完成也代表 foo 函数执行完成,将它们依次出栈。...最后 global end 也压入调用栈 最后将 global end 入栈,执行完毕后出栈。整个匿名函数(anonymous)也执行完成 在浏览器调试工具右侧可以看到调用栈:

42900

JavaScript链式调用

这个很容易理解,例如 $('text’).setStyle('color', 'red').show(); 一般的函数调用和链式调用的区别:链式调用完方法后,return this返回当前调用方法的对象...=function (name,fn) {//(函数名称,函数本身) this.prototype[name]=fn; return this;//链式调用关键 };//这个函数的意思...:为function对象增加函数,会用链式调用,链式调用有两个参数name,和fn 第四步,扩展类的相应方法 链式的对象增加jquery库提供的操作函数 (function(){ //下划线:表示私有变量的写法...; return this;//链式调用关键 };//这个函数的意思:为function对象增加函数,会用链式调用,链式调用有两个参数name,和fn (function () {...; return this;//链式调用关键 };//这个函数的意思:为function对象增加函数,会用链式调用,链式调用有两个参数name,和fn (function () {

1.6K41

Python调用JavaScript代码

在写爬虫经常会遇到很多JS代码,比如说某些参数加密,可以只用用Python来翻译,但是有时候代码不容易阅读(JS渣渣),所以这里直接去找一条捷径,直接用Python的第三方库去调用JS代码。...return x + y;... }... """) >>> ctx.call("add", 1, 2) 3 用法很简单,execjs.compile后面就是JS源码,然后使用ctx.call来调用...,参数就是JS中定义的函数名,同时可以传递参数。...作者也有说到: PyExecJS的优点是您不需要处理JavaScript环境。 特别是,它可以在Windows环境中运行,无需安装额外的库。 PyExecJS的一个缺点是性能。...PyExecJS通过文本传递JavaScript运行时,速度很慢。 另一个缺点是它不完全支持运行时特定功能。 看了下源码,执行过程大概是这样。

1.5K50

JavaScript调用

最近突然发现了调用栈这个概念,理解这个概念对于一些函数的执行能更清晰的理解,比如递归。 栈(stack)是计算机中特殊的一个数据列表,栈有一个特点就是先进后出。...今天只说说入栈和出栈两个概念: 代码运行过程中会有调用栈(call stack)的概念,就是解析的机制,栈的一种运行结构。栈一定遵循先进后出。...这些都是待研究的,这边自己给了自己一个应该不正确的理解,栈有链式调用,就跟对象一样,所以数据可以随便调用JavaScript执行上下文是按顺序调用的,只有调用栈也叫作执行上下文栈才是先进后出。...而执行上下文在JavaScript中跟作用域一样,一个函数就是一个作用域,就是一个执行上下文。...执行上下文按顺序执行,执行上下文栈(也叫调用栈)严格按照先进后出的顺序执行。 按照正常的顺序思维去理解或许更快更清晰得到答案,只是这些东西对于想要做些什么的还是有必要去了解的。

76130
领券