0
点赞
收藏
分享

微信扫一扫

Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin(3)

JavaScript学习笔记——变量、作用域、var、const和let

学习链接(原链接)

菜鸟教程
let和const与var的区别
js中var、let、const的区别
JS里面使用var声明变量存在的三个问题
在JavaScript中,if 语句是/有 块级作用域吗?
JS IF 作用域
JavaScript的三座大山–(2)–作用域和闭包(牛牛牛牛牛)

变量

变量声明的三种方式

作用域

作用域介绍

作用域分类

全局作用域

1)最外层函数和在最外层函数外面定义的变量拥有全局作用域,例如:
var authorName="波妞";
function doSomething(){
    var blogName="中介";
    function innerSay(){
        console.log(blogName);
    }
    innerSay();
}
console.log(authorName); //波妞
doSomething(); //中介
console.log(blogName); //错误
innerSay() //错误
2)所有未定义直接赋值的变量自动声明为拥有全局作用域,例如:
function doSomething(){
    var authorName="波妞";
    blogName="中介";
    console.log(authorName);
}
doSomething(); // 波妞
console.log(blogName); //中介
console.log(authorName); //错误

局部作用域(函数作用域)

块级作用域

块级作用域和局部(函数)作用域区别

var

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS--varletconst</title>
</head>
<body>
    <script>
        var x = 1;
        var y = 2;
        var z = x + y;
        document.write(x + "<br>");
        document.write(y + "<br>");
        document.write(z + "<br>");
    </script>
</body>
</html>

在这里插入图片描述
JavaScript——document.write

var的作用域(全局+函数)

示例:

var smytest = "smy";        //全局范围
function newFunction(){
    var smytest2 = "inner";
    console.log(smytest2);
}
console.log(smytest);       //输出:smy
newFunction();              //调用函数,输出:inner
console.log(smytest2);    	//输出:ReferenceError: smytest2 is not defined

var变量的重新声明与修改

var smytest = "smy";        //全局范围
var smytest = "fighting";   //相同作用域下重新声明
smytest = "emo";            //相同作用域下修改
function newFunction(){
    var smytest2 = "inner";
    var smytest2 = "outer"; //相同作用域下重新声明
    console.log(smytest2);
}
console.log(smytest);       //输出:emo
newFunction();              //调用函数,输出:outer

var变量提升

console.log(greeter);
var greeter = 'say hello';

代码会被解释为:

var greeter;
console.log(greeter); // greeter is undefined
greeter = 'say hello';

JS里面使用var声明变量存在的三个问题

if(Math.random() > 0.5){
    var a = "abc";
    console.log("if方法1" + a);
}else{
    console.log("if方法2" + a);
}
console.log("最外层" + a);

//输出:
//if方法2undefined
//最外层undefined

const

三级目录

举报

相关推荐

0 条评论