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. 扯一扯 C#委托和事件?策略模式?接口回调?

    早前学习委托的时候,写过一点东西,今天带着新的思考和认知,再记点东西.这篇文章扯到设计模式中的策略模式,观察者模式,还有.NET的特性之一--委托.真的,请相信我,我只是在扯淡...... 场景练习 ...

  2. HDOJ 1159 Common Subsequence【DP】

    HDOJ 1159 Common Subsequence[DP] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...

  3. PHP-FPM 设置多pool、配置文件重写

    重写配置文件 1.清空php配置文件 命令:> /usr/local/php/etc/php-fpm.conf 2.重新写入php-fpm配置 命令:vim /usr/local/php/etc ...

  4. CSS3小图标菜单导航

    在线演示 本地下载

  5. awk分割列-【AWK学习之旅】

    ---===AWK学习之旅===--- awk 内置分割函数:split,将列按照指定分割符,分割成数组 用法:split(str1,array,"分隔符") 文件内容: [roo ...

  6. 程序包com.sun.istack.internal不存在

    添加一下依赖 <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl --><dependency> ...

  7. SpringBoot 悲观锁 与 乐观锁

    乐观所和悲观锁策略 悲观锁:在读取数据时锁住那几行,其他对这几行的更新需要等到悲观锁结束时才能继续 . 乐观所:读取数据时不锁,更新时检查是否数据已经被更新过,如果是则取消当前更新,一般在悲观锁的等待 ...

  8. kafka和canal设置为开机启动

    1.切换到初始化目录 cd /etc/init.d/ 2.新建一个文件 如 touch autoupdate 3.vim autoupdate #!/bin/bash export JAVA_HOME ...

  9. jvm-java内存模型与锁优化

    java内存模型与锁优化 参考: https://blog.csdn.net/xiaoxiaoyusheng2012/article/details/53143355 https://blog.csd ...

  10. Java解析XML的四种方法详解 - 转载

    XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法 在做一般的XML数据交换过程中,我更乐意传递XML字符串,而不是格式化 ...