1.变量
a)局部变量:在所有函数内部定义的变量,或者在函数内部未使用var声明的变量也属于全局变量.
b)全局变量:在所有函数外部定义的变量.
eg:
1)    
var a = 5,b = 4, c = 6;
    function sum() {
        var c = a + b; 前面有var声明且在函数内部为局部变量。若没有var声明直接为c = a + b;则为全局变量。
        console.log(c);结果为9输出的局部变量c
    }
    sum();
    console.log(c);结果为6.输出的全局变量c=
    
2)    
var a = 5;
(function () {
var a = 7;7为局部变量,sum函数搜索不到该变量。
sum();
})();
function sum() {
console.log(a + 4);只能搜索到全局变量5。输出结果为9.
}
 
2.with扩展
    
with(document){
        write("若如霜寒,断痕兮");
        write("若如霜寒,断痕兮");
        write("若如霜寒,断痕兮");
    }简化了代码冗余类似于封装函数.
 
3.回调函数
eg:比较两个数的大小
    
function reduce(a,b,sort,sort2){
var c = a - b;
if(c < 0){
sort();
}else {
sort2();
}
}
reduce(2,3,function sort(){alert("a<b");},function sort2(){alert("a>b");});
 
4.递归函数:调用自身的函数.
eg:   
function print(num) {
num++;
if(num < 5) {
print(num);
}
console.log(num);
}
print(1);结果为5,4,3,2.
 
5.匿名函数
eg: (function(){})();表达式函数,自动启动的函数.
6.构造函数
 
eg: 
function Person(){
alert("构造函数");
}
var m = new Person();
console.log(m);
 
注:构造函数主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用。构造函数名称首字母一般都大写。
7.扩展一
    
function dog(){};
dog.play = function (){
doing = prompt("王八在不在?");
if(doing == "不在"){
alert("再说一遍 ");
return dog.play();
}else if(doing == ""){
alert("听话");
return dog.play();
}else if(doing == "在"){
alert("嗯,乖");
}
else{
alert("狗子你变了");
return dog.play();
}
alert("我们还是好朋友.");
}
dog.play();

  

 
 
 
 
 
 
 
 
 
 
 
 
 
 

(八)js函数二的更多相关文章

  1. 通用js函数集锦<来源于网络> 【二】

    通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...

  2. VC与JavaScript交互(二) --- 调用JS函数

    这一章,我们来动手实践VC调用JS函数. 我们动手写一个HTML,其中包含这样一段JS代码: //[html] <script type="text/javascript"& ...

  3. 【vue】vue +element 搭建项目,将js函数变成vue的函数

    demo:时间转换 1.目录 <1>在src文件夹下新建文件夹prototypefns--------在此文件夹创建util.js, <2>在prototypefns下新建文件 ...

  4. 如何编写高质量的 JS 函数(2) -- 命名/注释/鲁棒篇

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/sd2oX0Z_cMY8_GvFg8pO4Q作者:杨昆 上篇<如何编写高质量的 JS 函数 ...

  5. 如何编写高质量的 JS 函数(3) --函数式编程[理论篇]

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/EWSqZuujHIRyx8Eb2SSidQ作者:杨昆 [编写高质量函数系列]中, <如何 ...

  6. Js函数function基础理解

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  7. iOS开发Swift篇—(八)函数(2)

    iOS开发Swift篇—(八)函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 func sum(num1: Int ...

  8. js函数的调用问题

    1.js函数的调用方式有三种.请问以下“二”处的几行代码有什么猫腻? //一 事件调用 btn.onclick=fn; //二 直接调用(window调用) fn(); //自上而下解析到这一行的时候 ...

  9. JS函数和变量

    JS函数和变量  函数: 函数是由事件或者当它被调用时执行的可重复使用的代码块. 是一个独立的代码块,实现特定功能模块. 函数他不进行调用触发的话,不会自己主动执行. 像ATM机一样,不去取钱的话不会 ...

随机推荐

  1. 微信小程序学习笔记(7)--------布局基础

    ui布局基础 一.flex布局 1.flex的容器和元素 2.flex容器属性详解     1>flex-direction不仅设置元素的排列方向,还设置主轴和交叉轴如下图主轴是由上到下 2&g ...

  2. PAT 天梯赛 L1-042. 日期格式化 【水】

    题目链接 https://www.patest.cn/contests/gplt/L1-042 AC代码 #include <iostream> #include <cstdio&g ...

  3. ThreadLocal管理登录信息

    通常在项目中,用户登录后,我们会将用户的信息存到session,如果想在其它地方获取session中的用户信息,我们需要先获取HttpServletRequest,再通过request.getSess ...

  4. UILable 的 属性设置

    //UILable的大小自适应实例 UILabel *myLable = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];//设定位置与大小 [m ...

  5. 20162324 2016-2017-2《Java程序设计》课程总结

    20162324 2016-2017-2<Java程序设计>课程总结 一.每周作业链接汇总 预备作业01 有关老师与学生关系的几个问题: 预备作业02 做中学: 预备作业03 实验楼学习: ...

  6. 判断一个对象是否有new

    C++语言中,对象没有空和不空的概念,只有对象指针才有空和不空的概念 判断对象指针是否为空只需要和NULL常量进行比较即可 如果相等,则为空,否则不为空 另外对象虽然没有空和不空的概念,但是有有效和无 ...

  7. SpringBoot 定义通过字段验证

    第一步:定义ValidationResult类 public class ValidationResult { // 校验结果是否有错 private boolean hasErrors = fals ...

  8. 微信小程序选择器

  9. Spring Boot 中全局异常处理器

    Spring Boot 中全局异常处理器,就是把错误异常统一处理的方法.等价于Springmvc中的异常处理器. 步骤一:基于前面的springBoot入门小demo修改 步骤二:修改HelloCon ...

  10. linux下fifo,mq,shm

    最近想为系统添加一个统计脚本,但是系统内的模块是有perl和java两种语言编写,且模块是通过crontab定时调用的,所以需要使用IPC传输信息. 第一个想到的是socket方式,感觉需要统一设定一 ...