Javascript基础知识盲点总结——函数

一、函数中的arguments对象

每个函数内部都有一个arguments,它能返回函数所接受的所有参数

注意:argumens接收的是实参

如下是利一个利用arguments特性编写的求和函数:

function sumOnSteroids(){
var I, res = 0;
var number_of_params = arguments.length;
for(I = 0; I < number_of_params; i++){
    res += arguments[i];
}
return res;
}

二、关于变量的作用域

在javascript中,不能为变量定义特定的块级作用域,但是可以定义其所属的函数域。

javascript中的全局变量指的是声明在所有函数之外的变量

在一个函数内部定义的局部变量,在函数外部是不存在的

如果在函数内部声明一个变量时没有使用var语句,该变量就会被默认为全局变量(即便在函数中定义外部也可以访问)。这种变量会在函数被调用之前不存在,调用函数后会首次被创建并赋予全局作用域

三、自调函数

自调函数是可以在定义后自行调用的函数,基本结构如下:

{
function(name){
    alert(‘Hello’ + name + ‘!’);
}
}(‘Martin’)

后面的()可以进行参数传递,其内声明的值会自动传递到function的参数中

使用如上这种自调匿名函数不会产生任何的全局变量

四、可自行重写的函数

这种函数的特点是可以在执行之后自己进行函数重写,下面是一个例子:

function a(){
alert(“A”);
a = function(){
    alert(“B”)
};
}

第一次调用a()时,执行alert(“A”);第二次调用a()时,执行alert(“B”)。因为在第一次执行该函数时,其将全局变量a重新定义了

时间: 2024-07-30 04:58:57

Javascript基础知识盲点总结——函数的相关文章

Javascript基础知识盲点总结——继承

原性链继承方法中,javascript是通过另一个类的实例进行继承的(实际是用一个构造器函数的实体去覆盖另一个对象的原型).如下代码: TwoDShape.prototype = new Shape(); Triangle.prototype = new TwoDShape(); 需要直接用new Shape()构造一个实体,然后才能通过该实体的属性完成相关的继承工作,而不是直接继承自Shape()构造器. 这中方法也确保了对Shape()进行任何修改都不会影响TwoDShape(),因为后者继

Javascript基础知识盲点总结——数据类型和数组

一.javascript总的基本类型 1.javascript中的基本类型共有五种:数字.字符串.布尔值.undefined.null 其中null和undefined最大的区别在于,被赋予null的变量通常被认为是已经定义了的. 2.除了以上五种基本类型外,其他的数据类型都属于对象. 二.利用typeof方法查看数据类型 在javascript中可以通过typeof方法来查看某个变量或值得数据类型.该方法会返回一个代表数据类型的字符串,可能返回的值包括:number,string, boole

Javascript基础知识盲点总结——对象

一.定义对象的基本格式: var hero = { breed: 'Turtle', occupation: 'Ninja', talk: function(){ alert("A!!"); } author: { firstname: 'Martin', lastname: 'Lu' } } 属性名加不加引号都可以,但是当属性名有保留字或特殊字符(空格等)时,需要加引号 二.对对象属性的操作 可以随时为对象添加/删除属性或者方法: var hero = {}; hero.breed

javascript 基础知识

javascript 基础知识编程规范注释 //驼峰对象化编程 数据类型字符串.数字.布尔.数组.对象.Null.Undefined定义 var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object; 字符串 var word = "Hello World!"; 数字 var x1 = 34.00; //使用小数点来写 var x2 =

JavaScript基础知识梳理--数组

JavaScript基础知识梳理--数组 1.创建方法 空数组:var obj=new Array(); 指定长度数组: var obj=new Array( size ); 指定元素数组 :  var obj=new Array( 元素1,元素2,....): 单位数组:var obj=new Array[ 元素1,元素2,元素3,...,元素N]; 多维数组:var a=new Array( [数组1],[数组2],[数组3],...,[数组N] ); 2.基本操作 存取数组元素: 单维数组

(1)JavaScript基础知识

Javascript基础知识 1.如何使用JavaScript (1).通过<script></script>中直接编写 (2).通过<script src='目标文档的URL'></script>链接外部的Js文件 ① <script  src="URL" type="text/javascript" charset="utf-8"></script> (3).作为某个元素

【javascript基础】2、函数

原文:[javascript基础]2.函数 前言 我在上一篇[javascript基础]基本概念中介绍了javascript的一些基本概念,多谢大家的阅读和意见,自己写的东西可以被大家阅读,真心高兴,刚开始发布的时候我一直盯着阅读人数,虽然知道大家可能就是点开一下而已,但是还是给我一些继续写下去的信心.那今天写一些关于javascript函数的一些知识,帮助大家熟悉或者复习一些函数的基本知识. PS:最近jQuery源码交流群( 239147101)加了不少热新人,希望大家还是以学习为主,尽量少

javascript基础知识拾遗

1 下面列出的值被当作假 false null undefined '' 0 NaN 其它所有值被当作是真 console.log(undefined || true); //true console.log(0||true); //true console.log(''||true); //true console.log(false||true); //true console.log(null||true); //true console.log(NaN||true); //true co

JavaScript基础知识3

JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里 JavaScript基础知识3