JS经典面试题03-引用类型连续赋值a.x = a = { n: 2 }

JS经典面试题03-引用类型连续赋值a.x = a = { n: 2 }_第1张图片

1.1-答案揭晓


<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Documenttitle>
head>

<body>
    <script>
        /*本题目覆盖知识点 
        1. 引用类型栈中存储地址, 赋值也是拷贝地址
        2. 运算符优先级   点语法 高于 赋值运算符
         */
        var a = { n: 1 };
        var b = a;
        a.x = a = { n: 2 };
        console.log(a.n, b.n)     // 2, 1
        console.log(a.x, b.x)     // undefined, { n: 2 }    
    script>
body>

html>

1.2-原理解析

JS经典面试题03-引用类型连续赋值a.x = a = { n: 2 }_第2张图片
JS经典面试题03-引用类型连续赋值a.x = a = { n: 2 }_第3张图片
JS经典面试题03-引用类型连续赋值a.x = a = { n: 2 }_第4张图片
JS经典面试题03-引用类型连续赋值a.x = a = { n: 2 }_第5张图片
JS经典面试题03-引用类型连续赋值a.x = a = { n: 2 }_第6张图片
JS经典面试题03-引用类型连续赋值a.x = a = { n: 2 }_第7张图片

你可能感兴趣的:(JavaScript学习,Web前端开发)