js-04-函数学习
一、什么为函数?
函数是用来执行某些特定功能的代码,为了减少代码的重复使用,将函数作为代码使用,在需要时随时调用使用。
二、函数的声明(函数名严格区分大小写)
1.function命令
function 函数名(参数变量){
函数体
return 返回值
}
2.函数表达式(采取变量赋值写法)
var function(s){
console.log(s);
};
将变量赋值与函数,构造成为函数表达式。
3.function构造函数
var add = new Function(
'x',
'y',
'return x + y'
); // 等同于
function add(x, y) {
return x + y;
}
三、函数的重复声明 (当函数重复命名时,后面的函数声明会覆盖前面的函数)
function f() {
console.log(1);
}
f() function f() {
console.log(2);
}
f() // 2
四、圆括号运算符
function add(x, y) {
return x + y;
} add(1, 1) // 2
return的作用:a:退出函数执行; b:返回结果,如函数无任何返回结果,则返回undefined
五、实现默认参数的形式
function example(name,age){
name=name||'德玛西亚';
age=age||18;
alert('你好!我是'+name+',今年'+age+'岁。');
}
六、可变参数形式的函数
function text1(){
var paramsNum=arguments.length;
var max=0;
for(var i=0;i<=paramsNum-1;i++){
max=arguments[i];
}
}
return max;
} aletr(test1(123,3423,23456,6666666));
七、作用域、全局变量和局部变量
1.全局作用域:程序中的任何位置都可以访问的范围
全局变量:保存在全局作用域中,程序任何位置都可使用的变量, 可反复使用 ,只要希望随处可用的公共变量 ,只要不属于任何函数的变量,自动都是全局的,
2.函数作用域:仅函数内可用的范围
局部变量:保存在函数作用域中,仅函数内可用的变量 ,不可反复使用 ,只限于当前函数内使用,函数外不可用时局部变量有两种:1、在函数内声明的变量 2、函数的参数变量也是局部变量
3.变量使用顺序:优先使用函数内的局部变量 ,局部没有,才去全局找。
js-04-函数学习的更多相关文章
- 10-JS的函数学习
<html> <head> <title>js的函数学习</title> <meta charset="UTF-8"/> ...
- 学习js回调函数
<!DOCTYPE HTML> <html> <head> <meta charset="GBK" /> <title> ...
- Node.js系列基础学习-----回调函数,异步
Node.js基础学习 Node.js回调函数 Node.js异步编程的直接体现就是回调,异步编程依托回调来实现,但不是异步.回调函数在完成任务后就会被调用,Node有很多的回调函数,其所有的API都 ...
- 原生JS研究:学习jquery源码,收集整理常用JS函数
原生JS研究:学习jquery源码,收集整理常用JS函数: 1. JS获取原生class(getElementsByClass) 转自:http://blog.csdn.net/kongjiea/ar ...
- JS中的运算符_函数学习
js中的运算符: 算数运算符: + - * / % ++ -- 逻辑运算符: & | ! && || < > <= ...
- 《JS权威指南学习总结--第八章 函数》
内容要点: 一.JS函数是参数化的:函数的定义会包括一个称为形参的标识符列表,这些参数在函数体中像局部变量一样工作.函数调用会为形参提供实参的值.函数使用它们实参的值来计算返回值,成为该函数调用表达式 ...
- C#和TS/JS的对比学习02:函数与方法
程序本质上,就是由数据和处理数据的方法构成.函数和方法,这两个名词虽然字面不同,但意义上其实没有区别.只是因为它们出现的地方有异,给予了不同的名称,比如在全局环境中,叫函数,在对象或类中,叫方法.而C ...
- js callee,caller学习
原文地址:js callee,caller学习 /* * caller 返回一个对函数的引用,该函数调用了当前函数. * 如果函数是由顶层调用的,那么 caller包含的就是 null . * 如果在 ...
- 【09-23】js原型继承学习笔记
js原型继承学习笔记 function funcA(){ this.a="prototype a"; } var b=new funcA(); b.a="object a ...
- JS回调函数全解析教程
转自:http://blog.csdn.net/lulei9876/article/details/8494337 自学jQuery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速g ...
随机推荐
- 翻转二叉树(深搜-先序遍历-交换Node)
题目:翻转二叉树,例如 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 已知二叉树的节点定义如下: class TreeNode { in ...
- 自学python中的心得
以后的日子里我将与可爱的亲们一起度过我自学python的岁月,请博客园里的大佬们监督与见证.
- js 防抖、截流
突发奇想,在触发事件的时候,一些会频繁触发的事件会不会造成资源的浪费或者大量的计算造成页面卡顿,比如onresize,onscroll,onmousemove等事件. 然后就引出了一个新知识点:防抖. ...
- git 使用详解(8)—— 分支HEAD、branch/checkout
有人把 Git 的分支模型称为"必杀技特性",而正是因为它,将 Git 从版本控制系统家族里区分出来.Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎 ...
- Balls in the Boxes
Description Mr. Mindless has many balls and many boxes,he wants to put all the balls into some of th ...
- HDU3870- intervals(差分约束)
You are given n closed, integer intervals [ai, bi] and n integers c1, ..., cn. Write a program that: ...
- zabbix监控系统系列
来自网站:http://www.361way.com/zabbix-summarize/3335.html 一.zabbix的特点 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能 ...
- 使用iCamera 测试MT9M001 130w高分辨率摄像头说明
该摄像头默认分辨率为1280*1024,即不设置任何寄存器参数,只要给该模块提供时钟,就可以输出. 在这里 我们可以通过右侧寄存器栏动态调整各寄存器 观察效果. 0x09寄存器可以调整曝光值,可以根据 ...
- 不启动AndroidStudio直接启动其模拟器
1.找到自己电脑Android sdk的安装路径下的tools\emulator.exe 2.获取你要启动的模拟器的名称 我这里是Nexus 5X API 27,把名字中间的空格改为_,我这里就应该改 ...
- [NOIP模拟]文本编辑器 题解
bsoj5089 文本编辑器 /* 题意描述 九发明了一个完美的文本编辑器.这个编辑器拥有两个光标(cursor),所以九能够同时在两处地方插入和删除文本.这个编辑器除了正常的编辑功能以外,还有一些只 ...