【JavaScript】8月10号第五天

2018-08-13 admin

JS(JavaScript)

函数; 一.函数是什么; 只能可定义一次,但是可定义有一次或多次调用;

var fun = function () {
     console.log('这是个函数')
}
fun();

二.函数; 1.定义函数; 定义的函数以两种方式表示; 函数声明和字面量表达式

/*
* 函数声明方式
* function 函数名称(){
* }
* 定义函数 函数体内容不会被执行
 */
/*
* function fun(){
*   console.log('这是个函数')
   */
/*
* 字面量/直接量
* var 函数名称 = function(){
          函数体
      }*/
var fun = function () {
     console.log('这是个函数')
}
fun();

2.调用函数; 先定义这个,让函数明确函数要怎么用,然后才会被调用函数,并开始执行

var v = 100;
console.log(v);
v = function(){
    console.log('这是个函数');
}
// v既是个变量,又是个函数
console.log(v);/* [Function: v] */
v();/* 函数的调用 */

/***********************/

var v2 = 200;
function v2(){
    console.log('这是个函数');
}
// v2是变量 - TypeError: v2 is not a function
console.log(v2);
v2();

3.函数的参数; 形参;定义在函数的参数中使用变量 实参;定义在函数中调用函数中的参数

/*
    1.定义函数
      function 函数名称(参数){
         函数体
      }
      * 定义函数时 形参
        * 形参的定义的方式,类似于变量的(不需要任何关键字)
        * 形参默认未定义任何值时 undefined
 */
function fun(a){// 在函数中定义一个变量,但未初始化值
    console.log(a);
}
/*
    2.调用函数
      函数名称(参数)
      * 函数的调用 -> 实参(值)
 */
fun(100);// 为函数中定义的变量初始化值

4.return语句; 表示在函数中的一个返回语句,当让不是必须的,可作为一个值使用 如没有值得则结果为undefined

function fun() {
    console.log('这是个函数');
    return 100;
}
/*函数return语句*/
console.log(fun());//函数调用结果
console.log(fun);//变量的值

function fn() {
    console.log('这是retntn语句之前');
    return;
    console.log('这是retntn语句之后');
}
var result = fn();
console.log(result);//100

/*
    函数return语句
    * 的确允许不编写在函数体最后面
    * 一旦return语句不在函数体的最后面 return语句之后的代码都不再执行
 */

作用域; 一.作用域是什么; 就是变量和函数所被访问范围,控制变量和函数的可见性和生命周期 作用域分为全局作用域和局部作用域 全局作用域;是指在所有函数之外声明的变量,因为当前文档中的其他代码可以访问它 局部作用域;是指在函数内部声明的变量,因为该函数只能在它内部访问 二.变量的作用域; 1.全局变量和局部变量; 全局变量;是指在所有函数之外声明的变量,因为当前文档中的其他代码可以访问它 局部变量;是指在函数内部声明的变量,因为该函数只能在它内部访问

/*
    全局作用域(函数作用域之外的范围) - 全局变量
    * 全局变量的作用域 - 全局作用域 + 函数作用域
 */
var v1 = 100;
console.log(v1);

function fun(){
    /*
        函数作用域 - 局部变量
        * 局部变量的作用域 - 当前函数作用域
     */
    var v2 = 200;

    console.log(v1);
    console.log(v2);
}

console.log(v1);

fun();
// 全局作用域不能访问局部变量
// console.log(v2);

function fn(){
    console.log(v2);
}
fn();

2.声明提前; 先调用变量而结果不会出错同时变量会返回(undefinen)值

console.log(v);// undefined
var v = 100;
console.log(v);// 100
// 当全局变量与局部变量同名时 - 在函数作用域中只能访问局部变量
function fn(){
    console.log(v);// undefined
    var v = 200;
    console.log(v);// 200
}
fn();

console.log(v);// 100

3.按值传递; 是值实参变量的值同样的值给函数的形参变量,表示相同的变量

var q = 100;/* 全局变量 */
function fn(q){
    // 参数与局部变量的用法类似 - 只能作用于当前函数的内部
    q++;
    return q;
}

var result = fn(q);

console.log(result);// 101
console.logq);// 100

三.函数的作用域; 全局函数和内部函数; 全局函数;被定义在任何位置都可以访问和调用函数 局部函数;将一个函数定义在另一个函数之内,只可在函数的内部访问,而不能访问全局作用域中访问

function fn(){
    console.log('this is fn');
    /* 函数作用域 - 内部/私有函数 */
    function n(){
        console.log('this is n');
    }
    n();
}
/* 全局作用域 */
fn();

// n();// n is not defined

function fun(){
    /* 另一个函数作用域 */
    fn();

    n();// n is not defined
}
fun();

原文链接:https://segmentfault.com/a/1190000015981539

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-37834.html

文章标题:【JavaScript】8月10号第五天

相关文章
javascript是什么意思
avaScript是Netscape开发的一个对象脚本语言,它使用在世界各地数以百万计的网页和服务器应用程序上。 网景的JavaScript是ecma - 262版的标准脚本语言,和公布的标准只有轻微的差异。 与广为流行的错误理解相反,Ja...
2015-11-12
21天学通javascript
简介: 本书是Javascript入门教程。Javascript是Web开发中应用最早、发展最成熟、用户最多的脚本语言。其语法简洁,代码可读性在众多脚本语言中最好,它在使用时不用考虑数据类型,是真正意义上的动态语言。本书总分为四篇,共21章...
2015-11-16
JavaScript的组成
一个完整的JavaScript由3个部分组成:核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) ECMAScript 描述了该语言的语法和基本对象 ; DOM 描述了处理网页内容的方法和接口 ; BOM 描...
2015-11-12
JavaScript 事件流、事件处理程序及事件对象总结
JS与HTML之间的交互通过事件实现。事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用监听器(或处理程序)来预定事件,以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察员模式,支持页面的行为与页面的外观之间的松散耦合。...
2017-04-05
JavaScript变量的声明
声明变量 变量在脚本中的首次亮相是在其声明中。 在变量首次出现时将会在内存中设置它,因此您稍后可在脚本中引用它。 应在使用变量之前先声明变量。 可以使用 var 关键字实现此目的。 <span id=“mt9” class=“sent...
2015-11-12
7个提高效率的JavaScript调试工具
鐜板湪鐨凧avaScript浜嬪疄涓婂凡鐒舵垚涓轰簡娴佽�岀殑web璇�瑷€锛屽嵆浣垮畠骞朵笉瀹岀編銆傚緢澶氱▼搴忓憳涓嶅枩娆㈢敤JavaScript鍐欎唬鐮侊紝鏄�鍥犱负鍐欏埌鍚庢潵鎬讳細鍑虹幇鍚勭�嶈帿鍚嶅叾濡欑殑bug锛岃€屼笖鍦ㄥ紑...
2015-11-11
7个让JavaScript变得更好的注意事项
随着浏览器性能提高,伴随着新的HTML5的编程接口的稳步采用,网页上的JavaScript的音量在逐渐增加。然而,一个写得不好的程序编码却拥有着打破整个网站,让用户为之沮丧和驱赶潜在客户的潜力。 开发人员必须使用所有供他们任意使用的工具和技...
2015-11-12
JavaScript游戏之连连看源码分享
JavaScript游戏之连连看源码 下载地址:JavaScript游戏之连连看源码 解压密码:www.javascriptcn.com ...
2015-11-12
JavaScript短路原理精简代码
js中||和&&的特性帮我们精简了代码的同时,也带来了代码可读性的降低,虽然高效,但请灵活使用。 在js逻辑运算中,0、""、null、false、undefined、NaN都会判为false,其他都为t...
2015-11-12
《JavaScript快速查询手册》PDF
下载地址:《JavaScript快速查询手册》PDF下载 http://pan.baidu.com/s/130rP8’ 简介: JavaScript快速查询手册 目录 前言 第一部分 命令查询 第二部分 JavaScript语句与运算符 第...
2015-11-16
回到顶部