浅谈JavaScript中的函数问题
前面的话:JavaScript可运行在所有主要平台的主流浏览器上,也可运行在每一个主流操作系统的服务器端上。所以呢,要想成为一名优秀的全栈工程师,必须懂得JavaScript语言。这是我整理的JS的部分函数问题,供大家参考借阅,有不妥的地方也请多多指教。
1、函数的三要素
1.1 函数的功能
1.2 函数的参数

1.3 函数的返回值——返回计算的结果
2、函数参数的注意点
function funName(a, b) { }
2.1 判断输入的参数是否为空(过滤掉undefined null NaN " " 0)
2.1 判断输入的参数是否为数字
3、函数的基本形式(4种)
4、/ * * +回车 对函数进行注释,如下图:

5、函数调用
function f1() {
var a = 10;
f2();
}
f1 ();
f1 ();

5.2 函数对自身的调用称为递归【自调用函数】
6、函数定义的两种方式
6.1 函数声明 function fn() { }
6.2 函数表达式 var myFun = function () {} //这里调用的是匿名函数
6.3 函数声明和函数表达式的区别:
7、变量的作用域
7.1 全局作用域:在任何位置都可以访问【全局变量】
7.2 局部作用域:在函数内部声明一个变量,只能在该函数内部使用【局部变量】
i)只有在函数内部使用var定义的变量
7.3 javascript中没有块级作用域
8、函数提升和变量提升(过程)
8.1 函数内部,获取变量的时候,会先在当前作用域下找,有没有变量声明,如果有就返回当前作用域中变量的值
8.2 如果当前作用域中没有对应变量的声明,会返回上一级去找
1)解析器预解析的过程:
i,解析器
①全局作用域 预解析
a) var num ;
b) function fun ()
②一行一行执行代码
a) num = 10;
b) fun (); 调用fun函数
i) fun的局部作用域
One. 预解析
First. var num;
Two. 一行一行执行代码
First. console.log(num); 输出undefined
Second. num = 20;
var num;
function fun () {
var num;
console.log (num );
num = 20;
}
num = 10;
fun();
var num = 10;
fun();
function fun () {
var num;
console.log (num );
num = 20;
} // 函数内部访问外部变量
var a = 10;
function fn () {
console.log(a);
}

9、构造函数与自定义构造函数
9.2 自定义构造函数
① 内存开辟空间,存储新创建的对象 new Object ();
② 会把this设置为当前对象
③ 执行函数内部的代码,设置对象的属性和方法
④ 返回新创建的对象
浅谈JavaScript中的函数问题的更多相关文章
- 浅谈javascript中stopImmediatePropagation函数和stopPropagation函数的区别
在事件处理程序中,每个事件处理程序中间都会有一个event对象,而这个event对象有两个方法,一个是stopPropagation方法,一个是stopImmediatePropagation方法,两 ...
- 浅谈JavaScript中的闭包
浅谈JavaScript中的闭包 在JavaScript中,闭包是指这样一个函数:它有权访问另一个函数作用域中的变量. 创建一个闭包的常用的方式:在一个函数内部创建另一个函数. 比如: functio ...
- 浅谈JavaScript中的null和undefined
浅谈JavaScript中的null和undefined null null是JavaScript中的关键字,表示一个特殊值,常用来描述"空值". 对null进行typeof类型运 ...
- 浅谈JavaScript中的正则表达式(适用初学者观看)
浅谈JavaScript中的正则表达式 1.什么是正则表达式(RegExp)? 官方定义: 正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去 ...
- 浅谈JavaScript中的this
引言 JavaScript 是一种脚本语言,因此被很多人认为是简单易学的.然而情况恰恰相反,JavaScript 支持函数式编程.闭包.基于原型的继承等高级功能.本文仅采撷其中的一例:JavaScri ...
- 浅谈javascript中的作用域
首先说明一下:Js中的作用域不同于其他语言的作用域,要特别注意 JS中作用域的概念: 表示变量或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境.Javascript的作 ...
- 浅谈JavaScript中闭包
引言 闭包可以说是JavaScript中最有特色的一个地方,很好的理解闭包是更深层次的学习JavaScript的基础.这篇文章我们就来简单的谈下JavaScript下的闭包. 闭包是什么? 闭包是什么 ...
- 浅谈JavaScript中的继承
引言 在JavaScript中,实现继承的主要方式是通过原型链技术.这一篇文章我们就通过介绍JavaScript中实现继承的几种方式来慢慢领会JavaScript中继承实现的点点滴滴. 原型链介绍 原 ...
- 浅谈JavaScript中的内存管理
一门语言的内存存储方式是我们学习他必须要了解的,接下来让我浅谈一下自己对他的认识. 首先说,JavaScript中的变量包含两种两种类型: 1)值类型或基本类型:undefined.null.numb ...
随机推荐
- pat乙级1051
当结果中a或者b小于0,大于0.005时,保留两位小数会输出-0.00,但应输出0.00. #include <iostream> #include <math.h> usin ...
- 打造颠覆你想象中的高性能,轻量级的webform框架-----如何替换webform的垃圾控件(第一天)
前文描述: 随着.net 推出 MVC框架以来,webform 与 mvc 的争论一直没有停止过,一直以来 mvc 的 拥护者远远高于 webform,但是webfrom的有些优势又是mvc而无法替 ...
- JSON.parse()与JSON.stringify()
JSON.parse() 将字符串转成JSON 举个例子 var str = '{"name":"cn","age":"2&quo ...
- IOS 图形上下文栈
- (void)drawRect:(CGRect)rect { // 获取上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 保存一份最纯 ...
- IOS DatePicker 和 UIBarButtonItem 常用属性
- (void)viewDidLoad { [super viewDidLoad]; // // self.inputTextField.inputView = [[UISwitch alloc ] ...
- innobackupex实现对MySQL的增量备份与还原
备份增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --defaults-file=/etc/my.cnf --user root --password cheng ...
- hdu1213-How Many Tables---基础并查集
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1213 题目大意: 今天是Ignatius的生日,他邀请了许多朋友.现在是吃晚饭的时间,Ignatiu ...
- Spark性能优化——和shuffle搏斗
Spark的性能分析和调优很有意思,今天再写一篇.主要话题是shuffle,当然也牵涉一些其他代码上的小把戏. 以前写过一篇文章,比较了几种不同场景的性能优化,包括portal的性能优化,web se ...
- 【BZOJ3460】Jc的宿舍(树上莫队+树状数组)
点此看题面 大致题意: 一棵树,每个节点有一个人,他打水需要\(T_i\)的时间,每次询问两点之间所有人去打水的最小等待时间. 伪·强制在线 这题看似强制在线,但实际上,\(pre\ mod\ 2\) ...
- netbackup :nbu备份 Hyper-V 遇到快照错误(状态码 156)
遇到快照错误(状态码 156) 下表介绍与 NetBackup 状态码 156 有关的 Hyper-V 问题. 表:状态码 156 的可能原因 状态码 156 的原因 说明及推荐操作 NetBacku ...