javascript学习笔记(3):函数与作用域

原创 2016年08月30日 19:44:19

函数

函数由函数名,参数,函数体和返回值构成,在没有返回值或返回值为void的情况下,javascript将默认返回值为undefined

example:

>function f(){}

>f()

undefined


函数的三种形式:

非方法函数(普通函数):

>f()

直接调用


构造函数:

>new Date()


方法:

>obj.method();

将函数储存为对象的某个属性,然后通过对象调用函数的方法。


函数声明的方法:

普通方式:

function add(x,y){

return x+y;

}

具名函数:

var func=function (x,y){

return x+y;

}

具名函数通过func(x,y);来进行调用

函数构造器:

var add = new Function('x','y','return x+y');


call和apply方法的区别

相同点:

两个方法的作用完全一样:

fun.call(this,arg1,arg2,arg3)==fun.apply(this,arguments)==fun(arg1,arg2,arg3)

函数作用:可以通过设置第一个参数,可以动态地把一个函数加到其他任何对象上面。

call, apply方法区别是,从第二个参数起, call方法参数将依次传递给借用的方法作参数, 而apply直接将这些参数放到一个数组中再传递, 最后借用方法的参数列表是一样的。


注意:

在javascript中,不能传递参数的引用;因此,当我们将一个变量传递给函数时,变量的值会被复制一份并传递给函数,在函数中无法改变变量。

只有将变量包装到一个数组中,才能通过函数改变变量。


作用域

覆盖:

example:

var x="out";

function func(){

var x="in";

console.log(x); //  in

}

console.log(x); // out


在非严格模式不通过var 将一个值赋给一个变量会产生全局变量:

example:

>function fun(){ x=123 }

>fun() 

>x

123


IIFE:

(function(){  //open IIFE

// inside IIFE

}()); // close IIFE

作用:避免全局变量,隐藏全局作用域的变量,创建新的环境,避免共享,保持数据的相对独立。


闭包:函数可以维持其创建时所在的作用域

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JavaScript作用域学习笔记

JavaScript作用域学习笔记

JavaScript基础学习笔记(三)——变量、作用域、内存

变量1. 数据类型 变量包含两种不同的数据类型值:基本类型值和引用类型值,基本类型值指简单的数据段,包含Undefined、Null、Boolean、Number、String五种,引用类型是保存在...

JavaScript作用域学习笔记

Javascript作用域原理 理解 JavaScript 作用域和作用域链 作用域 作用域就是对变量和函数可访问的范围,作用域控制着函数和变量的可见性和生命周期 全局作用域在代码中,任何地方都...

《JavaScript高级程序设计 第三版》学习笔记 (八)块作用域及私有成员

一、模仿块级作用域 1.js不像C和java一样有块级作用域。在C和java中,一对大括号{}决定一个作用域,比如for循环。在js中,变量可以在函数任何一处定义,并且忽略重复定义。变量初始化之前使...

JavaScript作用域学习笔记

一 执行环境定义  执行环境(execution context)定义了变量或函数有权访问的其他数据,决定了他们各自的行为。  每个执行环境都有一个与之相关的变量对象(variable object)...

《JavaScript高级程序设计 第三版》学习笔记 (二)执行环境与作用域链

一、值和引用 1.基础类型值:js中五个基础类型unsigned、null、number、boolean、string,这些类型的变量名代表值;把这些变量当作参数传递给函数,解析器会复制一份形参给函...

JavaScript学习笔记九:变量作用域

JavaScript教程传送门由于JavaScript的函数可以嵌套,此时,内部函数可以访问外部函数定义的变量,反过来则不行:'use strict';function foo() { var...

JavaScript高级程序设计学习笔记——变量、作用域和内存问题(重要)

变量、作用域和内存问题(重要)

Javascript学习笔记——作用域

每个写过程序的人都不会对作用域这个概念陌生,那在这篇文章中就来谈下Javascript的作用域。    在Javascript,全局环境本身就一个对象。在浏览器宿主中这个对象是window,而当Jav...
  • wnety
  • wnety
  • 2011-07-11 09:54
  • 228

Javascript学习笔记04 ——变量,作用域,内存问题

基本类型值:表示简单的数据段,undefined null string number boolean 为基本类型,可以操作保存在变量中的实际的值。 引用类型:表示多个值构成的对象。保存在内存中。因...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)