标签: javascript

如何在JavaScript中检查"undefined"?

在JavaScript中测试变量是否未定义的最合适方法是什么?我见过几种可能的方法:

if (window.myVariable)
Run Code Online (Sandbox Code Playgroud)

要么

if (typeof(myVariable) != "undefined")
Run Code Online (Sandbox Code Playgroud)

要么

if (myVariable) //This throws an error if undefined. Should this be in Try/Catch?
Run Code Online (Sandbox Code Playgroud)

javascript undefined

2294
推荐指数
14
解决办法
223万
查看次数

如何将命令行参数传递给Node.js程序?

我有一个用Node.js编写的Web服务器,我想用特定的文件夹启动.我不确定如何在JavaScript中访问参数.我正在运行这样的节点:

$ node server.js folder
Run Code Online (Sandbox Code Playgroud)

server.js是我的服务器代码.Node.js帮助说这是可能的:

$ node -h
Usage: node [options] script.js [arguments]
Run Code Online (Sandbox Code Playgroud)

我如何在JavaScript中访问这些参数?不知怎的,我无法在网上找到这些信息.

javascript arguments command-line-arguments node.js

2280
推荐指数
30
解决办法
114万
查看次数

设置JavaScript函数的默认参数值

我希望JavaScript函数具有可选参数,我将其设置为默认值,如果未定义该值,则使用该参数.在Ruby中你可以这样做:

def read_file(file, delete_after = false)
  # code
end
Run Code Online (Sandbox Code Playgroud)

这是否适用于JavaScript?

function read_file(file, delete_after = false) {
  // Code
}
Run Code Online (Sandbox Code Playgroud)

javascript parameters function default-parameters

2277
推荐指数
18
解决办法
119万
查看次数

.prop()vs .attr()

所以jQuery 1.6具有新功能prop().

$(selector).click(function(){
    //instead of:
    this.getAttribute('style');
    //do i use:
    $(this).prop('style');
    //or:
    $(this).attr('style');
})
Run Code Online (Sandbox Code Playgroud)

或者在这种情况下,他们做同样的事情?

如果我有转用prop(),所有的旧attr()电话,如果我切换到1.6将打破?

UPDATE

selector = '#id'

$(selector).click(function() {
    //instead of:
    var getAtt = this.getAttribute('style');
    //do i use:
    var thisProp = $(this).prop('style');
    //or:
    var thisAttr = $(this).attr('style');

    console.log(getAtt, thisProp, thisAttr);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<div id='id' style="color: red;background: orange;">test</div>
Run Code Online (Sandbox Code Playgroud)

(另见这个小提琴:http://jsfiddle.net/maniator/JpUF2/)

控制台会记录getAttribute作为一个字符串,并attr作为一个字符串,但prop作为一个CSSStyleDeclaration,为什么?这对我未来的编码有何影响?

javascript jquery dom prop attr

2249
推荐指数
14
解决办法
57万
查看次数

2240
推荐指数
30
解决办法
198万
查看次数

JavaScript对象的长度

如果我有一个JavaScript对象,请说

const myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;
Run Code Online (Sandbox Code Playgroud)

是否有内置或接受的最佳实践方法来获取此对象的长度?

javascript javascript-objects

2224
推荐指数
30
解决办法
169万
查看次数

如何使用JavaScript漂亮地打印JSON?

如何以易于阅读(针对人类读者)格式显示JSON?我主要是寻找缩进和空白,甚至可能是颜色/字体样式等.

javascript json pretty-print

2222
推荐指数
21
解决办法
93万
查看次数

如何在不重新加载页面的情况下修改URL?

有没有办法在不重新加载页面的情况下修改当前页面的URL?

如果可能的话,我想访问#hash 之前的部分.

我只需要在域之后更改部分,因此它不像我违反了跨域策略.

 window.location.href = "www.mysite.com/page2.php";  // Sadly this reloads
Run Code Online (Sandbox Code Playgroud)

html javascript url friendly-url url-rewriting

2221
推荐指数
17
解决办法
129万
查看次数

使用jQuery禁用/启用输入?

$input.disabled = true;
Run Code Online (Sandbox Code Playgroud)

要么

$input.disabled = "disabled";
Run Code Online (Sandbox Code Playgroud)

哪种标准方式?而且,相反,如何启用禁用输入?

javascript jquery html-input

2216
推荐指数
8
解决办法
211万
查看次数

如何在JavaScript中清空数组?

有没有办法清空数组,如果可能的话.remove()

例如,

A = [1,2,3,4];
Run Code Online (Sandbox Code Playgroud)

我该如何清空?

javascript arrays

2198
推荐指数
17
解决办法
243万
查看次数