繁体   English   中英

了解 javascript 高级语法和对象表示法

[英]understanding javascript advanced syntax, and object notation

所以我可以浏览这个简洁的辅助函数,并且对语法感到困惑。 有一个变量(bool 声明为 true,它似乎是一个数组。它使用括号对象表示法,但随后要比较 bool[j] 或 [i] 是否为真,没有添加 [i] 或[j] 到对象映射。

 const helper = (word, words) => { let bool = [true]; //if you console.log(typeof bool) returns object ?? //This comes out as an Obj at first glance I thought it was an arr, but its bracket notation for (var i = 1; i <= word.length; i++) { for (var j = 0; j <= i; j++) { //how is bool[j] being evaluated? or i if its an obj? if (bool[j] === true && words[word.substring(j, i)] === true) { bool[i] = true; break; } else { bool[i] = false; } } } return console.log(bool[word.length] ? true : false); } helper('aa', ['aa', 'aabb', 'someotherword']);

在 JavaScript 中,数组是 Object 的一个实例,它们的类型将如此注册。

像这样的声明

foo[i] = 'bar'

将在数组(或对象) fooi个从零开始的索引处分配值 'bar' 。 这发生在您发布的代码中的for循环中。

 var a = [] console.log(a instanceof Object) a[3] = 4 console.log(a)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM