js从0开始学习

js - 02 JS的组成和变量

2019-11-04  本文已影响0人  大怪兽迪迦

JS的组成

按照相关的js语法,去操作页面中的元素,又是还要操作浏览器中的一些功能

JS中的变量

变量:可变的量,在编程语言中,变量其实就是一个名字,用来储存和代表不同值的东西

    // ES3
    var a = 12; // => 创建一个变量;
    a = 13;
    console.log(a)  // => 输出的是a代表的值13;
    
    // ES6
    let b = 100; // => 创建一个变量;
    b = 200;
    console.log(b) // => 输出的是b待播啊的值是200;
    
    const c = 100; // => 一个特殊的变量,可以理解为常量;
    c = 200; // => 报错。CONST创建的变量,存储的值不能被修改;
    
    //创建函数也可以理解为创建一个变量
    function fn(){}
    //创建一个类可以理解为创建一个变量
    class A{}
    //ES6的模块导出可以理解为创建一个变量
    import XXX from './xxx.js'
    //Symbol 创建唯一值
    let a = 100;
    let b = 100;
    a == b    =>     true
    
    let a = symbol(100);
    let b = symbol(100);
    a == b    =>     false
    // 创建唯一值a 所以不可能与其他值相等

变量的作用域

一个变量的作用域是是程序源码中定义这个变量的区域

全局变量

var scope = "global"           // 声明一个全局变量
function checkscope(){
   var scope = "local"         // 声明一个同名的局部变量
   return scope               // 返回局部变量的值,而不是全局变量的值
}
checkscope()                 // => "local"

思考:尽管在定义全局变量时不用写var,在局部定义时必须写,若不写将会发生什么

scope = "global";               // 声明一个全局变量,不用var
function checkscope2(){
    scope = "local";            // 修改了全局变量
    myscope = "local";          // 声明一个新的全局变量
    return [scope, myscope]     // 返回两个值
}
console.log(checkscope2())       // => return["local", "local"]: 产生了副作用
console.log(scope)              // => global
console.log(myscope)            // => 报错
上一篇下一篇

猜你喜欢

热点阅读