LoaferT 发表于 2019-9-10 16:52:26

JS调用对象属性的问题

用两种方法想拿到对象里的属性,但是用'.'拿不出来
这个是正确的:
<!DOCTYPE html>
<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>Document</title>
</head>

<body>
        <script>
                function phoneticLookup(val) {
                        var result = "";
                        var lookup = {
                                'alpha': 'Adams',
                                'bravo': 'Boston',
                                'charlie': 'Chicago',
                                'delta': 'Denver',
                                'echo': 'Easy',
                                'foxtrot': 'Frank',
                        };
                       
                        //here
                        result = lookup;

                        return result;
                }
                alert(phoneticLookup("charlie"));
        </script>
</body>

</html>

拿不到的在这里:
<!DOCTYPE html>
<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>Document</title>
</head>

<body>
        <script>
                function phoneticLookup(val) {
                        var result = "";
                        var lookup = {
                                'alpha': 'Adams',
                                'bravo': 'Boston',
                                'charlie': 'Chicago',
                                'delta': 'Denver',
                                'echo': 'Easy',
                                'foxtrot': 'Frank',
                        };

                        //here
                        result = lookup.val;

                        return result;
                }
                alert(phoneticLookup("charlie"));
        </script>
</body>

</html>

浏览器是Chrome

LoaferT 发表于 2019-9-10 17:08:11

{:10_299:}

sukiwhip 发表于 2019-9-10 17:33:11

拿得到的:
val 是作为形参传到函数,所以你调用函数的时候能找到形参对应的结果

拿不到的:
lookup 没有 val 这个属性,不管你 val 这个形参传什么进去,lookup.val 都是 undefined。。。再简单来说,lookup.val 的 val 不是你传进去的形参

LoaferT 发表于 2019-9-11 09:14:13

sukiwhip 发表于 2019-9-10 17:33
拿得到的:
val 是作为形参传到函数,所以你调用函数的时候能找到形参对应的结果



想通了!谢谢你!
页: [1]
查看完整版本: JS调用对象属性的问题