有时我会听到人们说"对象的引用",有些人说"对象的实例"有什么区别?
我理解JavaScript中的闭包是如何工作的,但我的问题是为什么你会遇到制作闭包以保存变量的所有麻烦?难道你不能让变量全局化吗?或者这会使全局范围变得混乱并使您的代码容易出错.
如果我有这样的代码
count=0
count2=setInterval('count++',1000)
Run Code Online (Sandbox Code Playgroud)
count2变量总是设置为2而不是count的实际值,因为它每秒都会增加
我的问题是:你甚至可以存储seInterval()方法的值
只是想知道它们是否是同一个东西,因为一些程序员说"范围",而其他人说"执行上下文".
每次实例化一个对象或一个函数时,它是存储内存还是只是存储了原始值的变量.
例如 - var myArray = new Array();或var num = function(){};
例如,当用户在facebook上创建一个墙时,是否有一个包含用户信息的全新php文件,或者只是一个使用mysql获取并显示有关用户信息的php文件.
我问的原因是因为我注意到url中的end目录不是一个普通的php,而是总是不同的.
例子:
www.facebook.com/Engineering
www.facebook.com/lilwayne
即便是youtube也是如此:
www.youtube.com/user/lonewolf456123
www.youtube.com/user/IGNentertainment
我创建了一个函数来检查输入文本字段是否有效,然后将类名附加到与某些css代码对应的元素,或者如果它有效则不执行任何操作.
function checkInputText(inputType, elem, oldClass, classError) {
var inputT = document.getElementById(elem);
var oldClass = oldClass;
var b = regex[inputType].test(inputT.value)
if (!b) {
inputT.className = classError + ' ' + oldClass;
return false;
} else {
inputT.className = oldClass;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,由于某些未知原因,当函数调用.test()函数时,它会在第一次为事件返回true,但是当您再次尝试它时,它将返回false.
javascript ×6
instance ×2
apache ×1
closures ×1
memory ×1
php ×1
reference ×1
regex ×1
setinterval ×1
terminology ×1