var、let、const

作者: 我就是L | 来源:发表于2017-03-20 21:14 被阅读17次
var let const
作用域范围 函数
否覆盖声明 true err err
变量提升 true false false
再次赋值 true true err

javascript对象是引用传递,基本类型是按值传递

ps:javascript里没有引用传递其实是传递引用?

function changeStuff(a, b, c)
{
    a = a * 10;
    b.item = "changed";
    c = {item: "changed"};
}

var num = 10;
var obj1 = {item: "unchanged"};
var obj2 = {item: "unchanged"};

changeStuff(num, obj1, obj2);

console.log(num);
console.log(obj1.item);
console.log(obj2.item);
console.log([1] === [1])//false
console.log([1] == [1])//false
  • json 对象的拷贝函数
function copy(o) {
    if (Object.prototype.toString.call(o) === '[object Array]') {

        return o.map(item=>copy(item));

    } else if (Object.prototype.toString.call(o) === '[object Object]') {

        return Object.keys(o).reduce((result, key)=> {
            result[key] = copy(o[key]);
            return result;
        }, {})

    }
    else {
        return o;
    }
}

相关文章

  • Android菜鸟学习js笔记 一

    一、var,const,let区别? var 变量,const 常量,let块级变量。

  • ES6_var、let与const

    var,let 与 const var 申明变量。 let 申明变量,更完美的 var。 const 申明常量(物...

  • TypeScript 02 - 变量声明

    在 TypeScript 中,var 还是 var,let 还是 let,const 还是 const,这里简单温...

  • JS中var、let、const区别

    在javascript中有三种声明变量的方式:var let const。let var const的区别?var...

  • js中const,var,let区别

    在javascript中有三种声明变量的方式:var let const。let var const的区别?var...

  • 面试题 var let const的区别 箭头函数和普通函数的区

    var let const 有什么区别 var var声明的变量可进行变量提升,let和const不会var可以重...

  • ES6学习

    1、 var let const var是函数作用域let和const是块级作用域,!const是常量,不能改变。...

  • ES6

    let var const var 可声明前置 let不可声明前置 let不可重复声明 存在块级作用域 const...

  • let和const

    let/const(常用) let和var 区别 let,const用于声明变量,用来替代老语法的var关键字,与...

  • js 2022经典面试题汇总

    1.JS数据类型有哪些 2.var、let、const区别 var存在变量提升,而let、const没有 let、...

网友评论

    本文标题:var、let、const

    本文链接:https://www.haomeiwen.com/subject/iviinttx.html