1、JS函数的参数可变长。如果一个函数规定有两个参数,在调用函数的时候不一定非要传两个参数,也可以不传或只传一个;另外就是说在写函数的时候不需要规定参数,也可以通过函数的内部属性arguments得到参数值。
例:
function test(){
var args=arguments;
alert(arguments);
}
test(1,2,3,4);
结果会弹出4;
2、JS函数不能重载。
简单说就是如果在一个窗口里,写两个函数名相同的函数,在调用时按照加载顺序,会执行最后一个加载函数。
3、命名空间
window是全局对象。其实就是一层一层的对象来构成命名空间,而window是顶层对象。
4、函数嵌套
JS函数是可以嵌套的,下面是一个调用例子:
var outname="hys";
function outfun(){
var name="qhm";
function innerfun(){
alert(outname+name+"在一起");
}
return innerfun;
}
var cache=outfun();
cache();
这个例子还实现了外部可以调用函数内部的方法,JS规定外部是不能直接调用内部方法的,上例通过return把内部方法返回出来,这样就变象实现了调用。
5、call和apply的用法及区别
function myfunc(){
alert(this.name);
}
myfunc.call({name:'人才'});
myfunc.apply({name:'蠢才'});
这两个关键字的功能就是调用执行方法对象,也就是myfunc。
区别如下:
myfunc.call({},arg1,arg2,arg3);
myfunc.apply({},[arg1,arg2,arg3]);
第一个参数为函数中this需要绑定的对象,这是一样的。
第二个参数就不一样了,call是可变长参数,而apply是一个参数数组。区别仅此而已。
6、可通过‘()’直接运行函数
例如:
(function(){
alert("test");
})();
执行结果为弹出test警告框。
7、Function
可以通过 var fn=new Function('x','s','alert("test")');来创建函数,其中最后一个参数为方法体,前面的所有参数为方法入参。一般不推荐这样写。
8、JS自带的方法对象属性
在JS中,方法本身也是一个对象,一旦创建就自动包含五个隐藏属性:arguments、callee、caller、length、prototype。
arguments:方法参数属性,可以通过arguments.length来得到传入方法的参数个数。并且可以通过arguments[0]下标的方法得到参数的值。注意:arguments虽然可以通过数组下标来访问但本身不是数组类型,不能够用数组特有的方法来处理。
callee:是arguments的一个属性,意为指向函数自己arguments.callee
(function test(){
alert(arguments.callee);
})();
结果会弹出函数本身作为一个字符串弹出。
caller:指向的是调用者。
function code(){
alert(code.caller);
}
function beathim(){
code();
}
beathim();
会弹出beathim,意为是beathim在调用code函数。
prototype:可以增加属性,增加了之后可以立即影响到这个类的所有实例。添加上去的属性是被当做“实例属性”对待的,利用了JS的原型查找机制,这么做可以大量节资源。
Animal=function(name,age){
this.name=name;
this.age=age;
}
Animal.prototype.TYPE="动物";
var animal=new Animal("姓名","25");
alert(animal.TYPE);
9、JS定时器
setTimeout和setInterval两个自带的定时器,不同之处在于,setTimeout是在指定的时间之后执行一次指定的函数,而setInterval会不断执行,直到取消。取消定时器的方法名分别是clearTimeout和clearInterval
10、delete方法
该方法可以对对象里的属性进行删除
var obj={};
obj.sayHello=function (){
alert("hello");
};
obj.sayHello();
delete obj.sayHello;
obj.sayHello();
以上例子,第二次调用法sayHello方法就会报方法不存在的错误。
分享到:
相关推荐
这篇经典JavaScript知识总结涵盖了从基础语法到高级特性的多个方面,旨在帮助有一定基础的开发者巩固和扩展他们的JavaScript知识。 1. **创建脚本块**:在HTML文件中,使用`<script>`标签来插入JavaScript代码。...
这份“js的全套学习总结,xmind版本”提供了一个全面的学习路线图,旨在帮助开发者系统地理解和掌握JavaScript的核心概念及高级特性。 首先,JavaScript的基础知识包括变量、数据类型(如字符串、数字、布尔值、...
14. **Node.js基础**:了解JavaScript在服务器端的应用,Node.js的事件驱动模型,以及文件系统、网络请求等模块。 15. **框架与库**:如React、Vue、Angular等,它们如何简化前端开发,以及如何结合JavaScript进行...
本篇内容将围绕"JavaScript总结导图"展开,深入探讨JavaScript的基础知识、核心概念以及高级特性。 1. **基础语法** JavaScript的基础包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、...
在"JS总结"这个主题中,我们可以探讨以下几个关键知识点: 1. **基础语法**:JavaScript的基础包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔、null、undefined、对象、数组等)、运算符(算术...
本文将围绕“JavaScript学习总结”这一主题,深入探讨其基本概念、语法特性、DOM操作以及与CSS的协同使用。 一、JavaScript基础 JavaScript由Brendan Eich在1995年发明,最初是为了网页交互而设计,现在已经成为...
总结,这个21天的JavaScript教程全面覆盖了从基本语法到高级特性的诸多内容,包括数据结构、浏览器交互、文档操作、表单处理以及XML操作。通过深入学习并实践这些知识点,你将具备开发动态、交互性强的Web应用的能力...
JavaScript,也被称为JS,是一种广泛应用于网页和网络应用开发的轻量级编程语言。它主要与HTML和CSS一起,构成了现代网页开发的三大核心技术。在本教程中,我们将深入探讨JavaScript的核心概念,实用技巧以及其在...
这份"js总结思维导图"包含的xmind文件,可以以可视化的方式呈现这些复杂的知识点,帮助学习者更加直观地理解JavaScript的全貌。同时,提供的网页版、图片版、SVG版则满足了不同场景下的学习需求,无论是在线浏览还是...
【张孝祥JAVASCRIPT笔记图片总结】是一份由知名IT讲师张孝祥编写的JavaScript学习资料,主要以图片的形式呈现,旨在帮助学习者更直观、清晰地理解和记忆JavaScript的关键概念与技术点。这份笔记涵盖了JavaScript的...
JavaScript(简称JS)...这个已总结好的JS语法字典涵盖了JS的基础到进阶语法,是开发者日常学习和查阅的宝贵资源。随着技术的发展,JavaScript不断进化,掌握其核心语法和最新特性,将有助于你成为更优秀的Web开发者。
本学习总结主要涵盖JavaScript的基础知识、语法特性、以及一些实用的例子。 1. **基础概念** - JavaScript是解释型语言,由网景公司的Brendan Eich在1995年发明。 - 它主要应用于网页和网络应用,但也可用于...
17. 浏览器兼容性:学习如何查阅MDN文档和Can I Use网站,以了解不同浏览器对JavaScript特性的支持情况。 18. Vue/React/Angular等框架:虽然不包含在基础JavaScript功能中,但了解至少一种前端框架的基本用法是...
JavaScript,作为全球最广泛使用的编程语言之一,是构建现代Web应用...通过不断实践和学习,开发者可以进一步探索JavaScript的高级特性和应用,例如前端框架(如React、Vue、Angular)、Node.js后端开发、Web组件化等。
总结,从 JavaScript 迁移到 TypeScript 是一个值得投资的过程,虽然初期可能需要投入额外的学习成本,但长期来看,TypeScript 的诸多优点将显著提高开发效率和代码质量。因此,无论你是个人开发者还是团队成员,都...
这篇“实用JavaScript技术总结(二)”将深入探讨一些高级和实用的JavaScript概念,以帮助开发者提升技能并解决实际问题。 首先,我们要理解JavaScript的核心特性。这包括变量、数据类型、作用域和生命周期。在...
以上内容主要源自于“javascript面向对象总结”这篇博文,通过深入学习这些知识点,开发者可以更好地理解和应用JavaScript的面向对象特性,从而编写出更加高效和易于维护的代码。通过`extends.js`和`new.js`这两个...
ES6中包含了许多新的语言特性,它们将使JS变得更加强大,更富表现力。在接下 来的几周内,我们将一一深入了解它们。但在我们开始详细学习之前,我认为十分有必要花几分钟讲解一 下ES6到底是什么,以及你可以从中学到...
本节课总结中,我们将了解 HTML5 和 JavaScript 的基本概念、特性和应用。 一、HTML5 基础知识 HTML5 是 HTML 的第五个主要版本,具有多种新特性和改进。HTML5 的主要特点包括: * 新的语义元素,如 header、nav...