JS(14)、变量的作用域入门

在es5中 函数的代码块内部的代码可以访问形参变量 也可以访问外部的变量(全局) 就近优先

函数外部的代码不能直接访问函数内部的变量

作用域: 指一个变量它在哪些代码范围能够被使用 这些

地方就是变量的作用域

var a = 20;
function fn(a) {
    // 隐式代码 var a = 10;
    console.log(a);
};
fn(10); // 10

var a = 30;
function fn() {
    var a = 20;
};
fn();
console.log(a); // 30

全局变量: 变量会在程序运行时把它设置为window对象的属性

var a = 20;
function fn() {
    a = 40;
};
fn();
console.log(a); // 40

function fm() {
    a = 60;
};
fm();
console.log(a); // 60

a = 100;
console.log(a); // 100

局部变量就是函数内部能使用 外部不能使用的变量

function fn(a) {
    var b = 20;
    console.log(a, b);
};
fn(100); // 100 20

console.log(a); // 报错
console.log(b); // 报错


var obj = {
    name: "karen"
};
function fn(n) {
   // 隐式代码 var n = "karen";
   n = "jack"
};
fn(obj.name); // obj.name 取值然后再传入函数
console.log(obj.name); // karen

var obj = {
    name: "karen"
};
function fn(n) {
    n.name = "jack"
};
fn(obj); // obj取值操作 取的是一个引用的对象
console.log(obj.name); // jack

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值