javascript中的函数跟其他语言的函数有很大的不同,让人觉得怪怪的。尤其是有无括号、有无new,结果大不同,this指向也有莫测的变化。
<script type="text/javascript">
//关于函数小知识,wallimn
function func(){
this.id='func';
}
var a = func;//把func对应的函数赋值给a,此函数并没有被执行。此后,a()相当于func(),也就是说a、func指向相同的函数体。
console.log(a)//输出为函数定义
console.log(a.id);//输出为undefined
console.log(window.id);//输出为undefined,因为只进行了函数赋值操作,函数没有执行
var b = func();//把func函数的执行结果赋值给b,func函数没有返回值,那么b为undefined。此过程中func体中的this指window。根据window.id的输出可知
console.log(b)//输出为undefined
//console.log(b.id)//执行会出错。
console.log(window.id);//输出为func,函数普通调用(不用new)时,内部的this指向window
var c = new func();//相当于把func当作一个构造函数执行,返回一个对象赋值给c。此时是可以调用c.id。函数体中的this指向函数执行后形成的上下文
console.log(c);//输出为创建的对象,this指针指向函数执行上下文。
console.log(c.id);//出为func
var d = new func();
d.id="new func";
console.log(c.id);//输出为func
console.log(d.id);//输出为new func。每次new,得到独立的上下文。
</script>
分享到:
相关推荐
在JavaScript函数式编程中,组合函数可以将多个小的、单一功能的函数串联起来,形成强大的函数链。组合使得代码更加模块化和可重用。 8. 函数式编程实践 实践函数式编程时,可以使用一些流行的库和工具,如Ramda、...
上述知识点共同构成了JavaScript函数式编程的核心内容。通过掌握这些概念,开发者可以编写出更加简洁、安全和可维护的代码。JavaScript作为一门混合范式语言,虽然在面向对象编程方面存在一些笨拙,但其提供的函数式...
而《JavaScript函数式.zip》可能是一份关于JavaScript函数式编程的资料集合,函数式编程是一种编程范式,强调使用函数和避免改变状态。其中可能涵盖以下知识点: 1. **纯函数**:理解纯函数的定义,即给定相同的...
以下是对给定文件中提及的JavaScript函数关键知识点的详尽解析。 #### 如何定义和使用函数 定义函数的基本结构包括函数名、参数列表和函数体。例如: ```javascript function sum(a, b) { var c = a + b; ...
JavaScript函数是编程语言的核心组成部分,它是一段可重复使用的代码块,可以接受参数并返回值。在JavaScript中,函数不仅可以作为表达式,还能作为变量赋值、作为参数传递以及作为返回值。本速查指南将深入探讨...
以上只是JavaScript函数部分知识点的概述,实际的“JavaScript函数速查手册”会包含更多详细信息,如作用域链、函数柯里化、函数组合等高级主题,帮助开发者更深入地理解和运用JavaScript函数。
JavaScript函数库是Web开发中不可或缺的部分,它们提供了一系列预先封装好的功能,可以帮助开发者高效地完成各种任务,如动画处理、事件处理、数据管理、Ajax通信等。本"JavaScript函数库查询手册"旨在为开发者提供...
这篇博客"JavaScript实用小函数(一)"可能涵盖了JavaScript基础以及一些实用技巧,虽然具体细节未在描述中给出,但我们可以根据常见的话题进行深入探讨。本文将主要围绕JavaScript中的函数、面向对象编程以及多态性来...
以下是一些关于JavaScript函数的关键知识点: 1. **定义函数**:函数通过`function`关键字定义,后面跟着函数名和一组参数列表,参数之间用逗号分隔,然后是花括号内的函数体。例如: ```javascript function ...
下面将详细介绍JavaScript函数和时间对象相关的知识。 一、JavaScript函数基础 1. 函数定义:在JavaScript中,函数是一种可重复使用的代码块,可以通过调用函数名来执行。函数通过`function`关键字定义,例如: ```...
总的来说,这个"Javascript函数手册.rar"是学习和查阅JavaScript函数知识的宝贵资源,涵盖了函数的基础到高级特性,对于初学者和经验丰富的开发者都有很高的参考价值。通过深入学习和实践手册中的内容,开发者可以更...
在本篇知识分享中,我们将聚焦于函数式编程这一范式,并以JavaScript语言作为教学和实践的媒介。首先,我们需要理解函数式编程的概念及其重要性。函数式编程是一种编程范式,它强调使用函数来表达计算逻辑,其中函数...
JavaScript函数详解 JavaScript是一种强大的、基于原型的、动态类型的脚本语言,广泛应用于网页和网络应用开发。在JavaScript中,函数扮演着核心角色,它们不仅可以作为可执行的代码块,还可以作为值进行传递和存储...
**JavaScript函数查询CHM文件:** `JavaScript参考手册.chm` 是一个帮助文件,包含JavaScript的所有函数和对象的详细信息。CHM(Compiled HTML Help)是一种Microsoft提供的帮助文件格式,将HTML页面编译成单一文件...
"JavaScript 函数式编程精要" 本资源是一本关于 JavaScript 函数式编程的专栏文章,...本资源是一本关于 JavaScript 函数式编程的精要指南,涵盖了多个方面的知识点,适合想要学习 JavaScript 函数式编程的开发者。
JavaScript 函数是编程语言的核心部分,用于封装可重复使用...JavaScript函数的这些用法构成了它的核心功能,使得开发者能够构建复杂的Web应用程序。理解并熟练掌握这些知识点对于成为专业的JavaScript开发者至关重要。
以下是几个重要的JavaScript函数相关知识点: 1. **定义函数**:你可以使用`function`关键字来定义一个函数,例如`function add(a, b) { return a + b; }`,这个例子定义了一个名为`add`的函数,它接收两个参数`a`...
### JavaScript函数-深入解析与使用指南 #### 一、JavaScript函数的基本...通过以上内容的学习,您不仅可以更好地理解JavaScript函数的基础知识,还能掌握一些更高级的概念和技术,这对于提高编程技能是非常有帮助的。