注意:从ECMAScript版本3或5的角度提出了这个问题.在ECMAScript 6发布中引入新功能后,答案可能会过时.
varJavaScript中关键字的功能到底是什么,有什么区别
var someNumber = 2;
var someFunction = function() { doSomething; }
var someObject = { }
var someObject.someProperty = 5;
Run Code Online (Sandbox Code Playgroud)
和
someNumber = 2;
someFunction = function() { doSomething; }
someObject = { }
someObject.someProperty = 5;
Run Code Online (Sandbox Code Playgroud)
?
你什么时候使用其中任何一个,为什么/它做什么?
在javascript中创建变量时,在变量名称之前添加"var"必须吗?
例如,而不是
var message = "Hello World!"
Run Code Online (Sandbox Code Playgroud)
我可以用吗
message = "Hello World!"
Run Code Online (Sandbox Code Playgroud)
?
我注意到Google Adsense等脚本不使用var
例:
google_ad_width = 160;
google_ad_height = 600;
google_color_border = "000000";
google_color_bg = "ffffff";
Run Code Online (Sandbox Code Playgroud) 你好,
我是一个自学的开发人员.总是,我写没有varfor变量的javascripts .但是一些javascripts var用于变量.
两者都适合我.我有点困惑.
是用var标准表单编写脚本还是只在类中使用?
在处理在JQuery上运行的语法高亮显示器时,我发现了一个相当奇怪的问题.我创建的函数似乎几乎破坏了它所放置的任何循环.但是,在循环之外,它的工作完全正常.
有问题的功能是:
function findQuoted(s)
{
var Quote = 0;
var F = 0;
var L = 0;
var Strings = Array();
for(i = 0;i < s.length;i++)
{
if(s.charAt(i) == '"' && Quote == 0)
{
Quote = 1;
F = i;
}
else if(s.charAt(i) == '"' && Quote == 1)
{
Strings[Strings.length] = s.substring(F, i + 1);
Quote = 0;
}
}
return Strings;
}
Run Code Online (Sandbox Code Playgroud)
如果在任何循环中执行此操作,由于某些奇怪的原因,循环就会停止工作,并且只运行一次.
在此示例中,警报消息在继续执行程序之前仅显示一次.请记住,程序永远不会卡住或无响应,循环停止运行.
for(i = 0;i < 5;i++)
{
alert(findQuoted('"Test" this is a test "test" …Run Code Online (Sandbox Code Playgroud) 在Javascript中,哪种var声明格式更好:
function test1() {
switch(type) {
case 1:
var test = "Hello One"
break;
case 2:
var test = "Hello Two"
break;
}
}
Run Code Online (Sandbox Code Playgroud)
要么:
function test2() {
var test;
switch(type) {
case 1:
test = "Hello One"
break;
case 2:
test = "Hello Two"
break;
}
}
Run Code Online (Sandbox Code Playgroud)
在test2()中,有一行额外的代码要在赋值之前声明test为var,但这样可以节省var test两次声明.要么哪种方式比另一方好?
如果我把var放在变量之前它不起作用,下面这个代码示例怎么样,但是如果我删除var它有效吗?我认为你在创建新变量时必须使用var.
function myfunction () {
if (document.getElementById('ramyes').checked) {
var itischecked = "yes"
} else if (document.getElementById('ramno').checked) {
var itischecked = "no"
}
}
function display () {
myfunction()
if (itischecked == "yes") {
alert ("it sure is");
} else if (itischecked == "no") {
alert ("it is not");
}
}
Run Code Online (Sandbox Code Playgroud) 首先,我来自.NET世界,其中有静态类(C#,也称为VB中的模块)和实例类 - 可以实例化的类.
这个问题是关于Javascript的,我正在尝试重新创建我已经知道的模式并创建一个模块/静态类.这是代码:
var MyModule = {
variable1: 0,
variable2: 1,
method1: function() {
//code goes here
},
method2: function() {
//mode code goes here
},
method3: function() {
//and some more just to prove the pattern
}
}
method1(); //error - no such method - ok, good, I expect that
variable1 = 5; //silently assigns a variable inside MyModule to 5 ?
Run Code Online (Sandbox Code Playgroud)
请解释为什么在命名空间内声明的方法不可见,但变量是什么?此外,有没有办法防止这些变量在外部可见MyModule,即使在同一个脚本中?
当我第一次点击按钮时,一切正常,但第二次,没有任何反应.这是为什么?
<form name="alert"><input type="text" name="hour"><input type="text" name="min"><input type="button" value="ok" onclick="budilnik(this.form)">
<script type="text/javascript">
function budilnik(form)
{
budilnik=1;
min=form.min.value;
hour=form.hour.value;
alert (min+' '+hour+' '+budilnik);
}
</script>
Run Code Online (Sandbox Code Playgroud) 我正在尝试将输入字段中的值放入我的post语句中以发送到我的php文件以更新记录而无需重新加载页面.它适用于我输入的静态信息,但是当我想选择输入框中输入的内容时,我无法使其工作.什么都没发生.
<script src="../jquery.js"></script>
<script type="text/javascript">
function editItem() {
catno = $("#catno").attr('value');
id = $("#id").attr('value');
$.post('writeToDB.php', {
id: id,
catno: catno
});
}
</script>
</head>
<body>
<form id="foo">
<input type="hidden" value="<?php echo $row_Recordset1['ID']; ?>" name="id"
id="id" />
<input type="text" value="<?php echo $row_Recordset1['CAT_NO']; ?>" name="catno"
id="catno" onchange="editItem();" />
</form>
Run Code Online (Sandbox Code Playgroud)
我是这个javasrcipt世界和jquery的新手,但我正在把我的头发拉出来.我可能正在做一些非常愚蠢的事情
谢谢
在编写Javascript函数时,我总是使用var作为变量的第一个赋值
var x = 1;
Run Code Online (Sandbox Code Playgroud)
后来x可能是别的东西.我应该写
if (something ) {
x = 2;}
Run Code Online (Sandbox Code Playgroud)
要么
if (something) {
var x = 2;}
Run Code Online (Sandbox Code Playgroud)
如果你能说出为什么那会有所帮助.
给出来自Javascript的代码段好的部分(第24页):
var name;
for (name in another_stooge) {
if (typeof another_stooge[name] !== 'function') {
document.writeln(name + ": " + another_stooge[name]);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么name在for in循环中使用之前有变量的定义,因为没有它就可以工作?