是否可以在另一个变量中使用未声明的变量
Is it possible to use an undeclared variable in another variable
我一直对此感到好奇,它时不时地会弹出。
var name = document.title;
var user = document.getElementsByClassName("class-name")[0].children[j].getElementsByTagName("a")[0].innerHTML;
var someArr = [];
for (var j = 0; j < document.getElementsByClassName("class-name")[0].children.length; j++) {
if (user == name) {
someArr.push(user)
};
};
alert(someArr);
现在,这一切都是由(显然)组成的,但看看变量"user"是如何检查children[j]的,如果我尝试使用这段代码,它会出现一个错误,类似于"无法读取未定义的属性'getElementsByTagName'"。现在我的问题是:有没有一种方法可以让这些代码在不给出错误消息和不执行的情况下工作。我会将其用于if循环中的干净代码,就像所有变量都用于一样。这也不是正在使用的"user"变量的唯一实例,因此它非常有用。
提前感谢
丹尼尔。
如果在for
循环之前使用j
变量,则该变量将具有undefined
值。
您可以将它放在函数闭包中,但在我看来,使用这样的变量并不能使代码可读。您可以创建一个getUser()
函数,并缓存元素数组。类似这样的东西:
var name = document.title;
var getUser = function(elem) {
return elem.getElementsByTagName('a')[0].innerHTML;
};
var initialArr = document.getElementsByClassName("class-name")[0].children;
var someArr = [];
for (var j = 0; j < initialArr.length; j++) {
var user = getUser(initialArr[j]);
if (user == name) {
someArr.push(user)
};
};
alert(someArr);
相关文章:
- 是否可以在另一个变量中使用未声明的变量
- Coffeescription:循环中的条件变量未正确声明
- 是否可以在 Javascript 中将未声明的变量作为参数传递
- Javascript未声明变量
- 为什么Javascript代码打印'未定义'即使变量被声明为全局变量
- 为什么以及如何使用 jQuery 未声明的变量作为 ID
- 在 Angular 服务中接收函数的未声明变量
- 让 javascript 将(默认情况下)未声明的变量声明到当前本地范围(基于首次使用)而不是全局范围
- 在 JavaScript 中,未声明的变量赋值可以在函数范围之外访问
- JS中的未声明变量自动拾取DOM对象
- 如何避免未声明的变量破坏智能感知
- 如何评估潜在未声明变量的属性
- 为什么要在javascript中保留未声明的变量
- 区分已声明变量和未声明变量2的方法
- 区分已声明变量与未声明变量的方法
- 如何检查变量是未定义的(已声明但未赋值)还是未声明的(不存在)
- 函数中未声明的JavaScript变量覆盖使用
- Javascript变量已声明并初始化,但在检查时未定义
- 为什么不用“strict”呢?(JavaScript)检测未声明的变量
- 引用错误变量未声明