`
blue_halo
  • 浏览: 86188 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

js中的函数

阅读更多

概括:

JavaScript中的函数的概念,非常的重要,函数也是对象,每个函数对象都有一个隐藏属性---调用属性,当函数被调用时执行调用属性中的代码。

 

this和arguments

当一个函数被调用时,根据不同的上下文环境,this被赋予不同的对象的引用,而arguments就是传入函数的参数数组。

1、函数在对象内部,叫方法。

var num1={value:0,add:function(){this.value++;}};
//这里的this当然就单表num1的引用
num1.add();
document.write(num1.value+"<br>");

function Sub(){this.value--;}
//这也是一个方法,如果绑定的对象没有value属性,则会引发错误
num1.sub=Sub;
num1.sub();
document.write(num1.value+"<br>");

value=100;
Sub();
document.write(value);
//当然也可以绑定到全局对象

 

2、全局函数

function mul(x,y)
{
	document.write(x*y+"<br>");
}
mul(10,10);//传统意义的函数

 

3、构造函数

function rec(length,width)
{
	this.length=length;
	this.width=width;
}
var rec1=new rec(100,50);
//可以这么理解,new产生一个object,并且函数中的this绑定到了这个object,所后则可以添加属性等操作。

 

4、call和apply

function rec(length,width)
{
	this.length=length;
	this.width=width;
}
var rec1=new rec(100,50);

function circle(x,y,radius)
{
	this.x=x;
	this.y=y;
	this.radius=radius;
}
var circle1=new circle(10,10,40);

function addnum(addvalue)
{
	for (var i in this)
	{
		this[i]+=addvalue;
	}
}

document.write("add before=======<br>");
document.write("rec1=======<br>");
for (var i in rec1)
{
	document.write("value of "+i+" is: "+rec1[i]+"<br>");
}

addnum.call(rec1,1);//获得rec1的引用到this
document.write("add after=======<br>");
document.write("rec1=======<br>");
for (var i in rec1)
{
	document.write("value of "+i+" is: "+rec1[i]+"<br>");
}
document.write("add before=======<br>");
document.write("circle1=======<br>");
for (var i in circle1)
{
	document.write("value of "+i+" is: "+circle1[i]+"<br>");
}
addnum.call(circle1,2);//获得circle的引用到this
document.write("add before=======<br>");
document.write("circle1=======<br>");
for (var i in circle1)
{
	document.write("value of "+i+" is: "+circle1[i]+"<br>");
}

 apply和call类似,只是后面的参数要用数组传递而已。

 

可见理解JS的函数最重要的就是要理解this在上下文中的含义。

 

分享到:
评论

相关推荐

    js中函数的理解

    在JavaScript(简称JS)中,函数是至关重要的概念,它们是可重用代码的封装单元,允许我们将一段逻辑封装起来,以便在需要时反复调用,而无需每次都编写相同的代码。函数不仅帮助我们提高代码的复用性,还使得代码...

    javascript,js中函数的定义及使用

    javascript,js中函数的定义及使用

    一本关于JavaScript中函数式编程的书

    这在递归函数中特别有用,可以提高性能。 八、函数式库 JavaScript有许多函数式编程库,如Ramda和Lodash的FP模式,它们提供了丰富的函数式工具,简化了编写函数式代码的过程。 九、惰性求值 虽然JavaScript本身不...

    js中函数调用的两种常用方法使用介绍.docx

    **关于JavaScript函数的可变参数** JavaScript支持可变参数,即使函数声明中指定了参数,也可以传入任意数量的参数。未声明的参数会自动收集到一个名为`arguments`的对象中,它是一个类数组对象,包含了所有传入...

    JS function函数 基础案例

    以上就是JavaScript函数的基础知识,包括定义、调用、返回值、匿名函数、箭头函数、作为值的函数、作用域、闭包以及默认参数。通过这些基础知识,你可以构建复杂的程序逻辑,并实现代码的复用。在实际编程中,深入...

    C#与JAVASCRIPT函数的相互调用 C#调用JAVASCRIPT函数的调用 JAVASCRIPT调用C#函数的调用

    C#与JAVASCRIPT函数的相互调用 C#调用JAVASCRIPT函数的调用 JAVASCRIPT调用C#函数的调用

    javascript实现根据函数名称字符串动态执行函数的方法示例

    在JavaScript编程中,有时会遇到需要根据函数名的字符串形式来动态执行对应函数的场景。这类技术能够提供一种灵活的方式来执行代码,尤其在进行插件化开发、事件驱动编程或实现钩子函数时非常有用。为了实现这一功能...

    JavaScript的函数劫持

    在JavaScript这种动态类型的脚本语言中,函数是第一类对象,这意味着函数可以作为变量赋值、作为参数传递以及作为其他函数的返回值。这为函数劫持提供了可能。 函数劫持的基本思想是替换一个已存在的函数,通常是...

    JS 函数式编程指南 PDF

    JavaScript中的函数是第一类对象,这意味着它们可以像其他值一样被赋给变量、作为参数传递、从函数中返回或存储在数据结构中。 书中提到的“一等公民的函数”,指的是函数在JavaScript中所享有的特殊地位。开发者...

    javascript指南和函数式编程

    而《JavaScript函数式.zip》可能是一份关于JavaScript函数式编程的资料集合,函数式编程是一种编程范式,强调使用函数和避免改变状态。其中可能涵盖以下知识点: 1. **纯函数**:理解纯函数的定义,即给定相同的...

    javascript函数式编程

    函数饲养:函数饲养(Function Breeding)是创建新函数的方法,通常用于高阶函数中。 Pointfree编程:Pointfree风格是指在编程中,不显式地提到数据,而是编写无参的函数组合。这种风格可以减少代码中的变量和临时...

    JavaScript的函数式编程基础指南

    这些函数可以被传递给其他函数,例如在高阶函数中,也可以作为其他函数的结果返回。这种能力使得JavaScript具备了函数式编程的基本特征。 其次,JavaScript支持词法作用域和闭包,这是函数式编程中重要的概念。闭包...

    JavaScript函数式编程.pdf

    不过,由于【标题】中提供了文档的名称——"JavaScript函数式编程.pdf",我可以根据这个名称扩展出关于JavaScript函数式编程的知识点。 JavaScript函数式编程的知识点非常丰富,涉及很多方面的内容,下面将详细介绍...

    js验证函数包,js验证函数包

    js验证函数包js验证函数包js验证函数包js验证函数包js验证函数包

    Java代码调用HTML5中的JS函数算法

    Java可以设置一个端点,接收来自JavaScript的Ajax请求,然后在响应中包含调用JS函数的命令。 3. **HTML5的Web Workers**:Web Workers允许可后台运行的脚本,从而避免阻塞用户界面。Java可以通过HTTP请求触发Web ...

    javascript绘图函数库

    JavaScript绘图函数库是开发网页动态图形的一种强大工具,它为开发者提供了丰富的API,使得在浏览器环境中绘制复杂的图形变得简单易行。在这个标题为“javascript绘图函数库”的资源中,我们主要关注的是如何利用...

    JS函数相关知识代码

    JavaScript是Web开发中不可或缺的一部分,尤其在...这些代码示例覆盖了JavaScript函数的核心概念,通过实践这些代码,开发者可以更好地理解JavaScript中函数的使用、作用域规则、新的语法特性以及面向对象编程的基础。

    JavaScript程序设计-Javascript中的函数的声明.pdf

    使用`return`语句可以在函数中返回一个值。返回值可以是任何类型,包括数组和对象。例如: ```javascript function sum(num1, num2) { return num1 + num2; } var he = sum(10, 20); console.log(he); ``` ...

    [hook.js]通用Javascript函数钩子

    &lt;script src=hook.js&gt; var myHook = new Hooks(); myHook.initEnv(); //普通全局函数 var _alert = null; function myalert(param){console.log("before hook");} alert.hook("_alert",myalert); alert.unhook("_...

Global site tag (gtag.js) - Google Analytics