相关疑难解决方法(0)

Math.round(num)vs num.toFixed(0)和浏览器不一致

请考虑以下代码:

for (var i=0;i<3;i++){
   var num = i + 0.50;
   var output = num + " " + Math.round(num) + " " + num.toFixed(0);
   alert(output);
}
Run Code Online (Sandbox Code Playgroud)

在Opera 9.63中我得到:

0.5 1 0

1.5 2 2

2.5 3 2

在FF 3.03我得到:

0.5 1 1

1.5 2 2

2.5 3 3

在IE 7中我得到:

0.5 1 0

1.5 2 2

2.5 3 3

注意粗体结果.为什么会出现这种不一致的情况?这是否意味着toFixed(0)应该避免?将数字舍入到最接近的整数的正确方法是什么?

javascript cross-browser

51
推荐指数
4
解决办法
7万
查看次数

String.prototype的"this"不返回字符串?

这里发生了什么?正当我认为我内外都知道JS时,这个宝石出现了.

String.prototype.doNothing = function() {
  return this;
};

alert(typeof 'foo'.doNothing()) // object
alert(typeof 'foo')             // string
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/dJBmf/

这打破了一些期望字符串的东西,比如jQuery的.text(str)方法.

javascript

28
推荐指数
3
解决办法
2万
查看次数

尾随逗号问题,javascript

我正在努力让我的jQuery在IE7中工作,当我发现以下内容时:

$(".regflow").validate({
    errorLabelContainer: $("#error-message"),
    rules: {
        txtTextOnly: {required: true,textOnly: true},
        txtNumbersOnly: {required: true,numbersOnly: true},
        txtPhoneOnly: {required: true,phoneOnly: true},
        txtAreaCodeOnly: {required: true,numbersOnly: true},
        txtSimCodeOnly: {required: true,simCodeOnly: true},
        txtCprOnly1: {required: true,numbersOnly: true},
        txtCprOnly2: {required: true,cprOnly1: true},
        txtMailOnly: {required: true,mailOnly: true}
    },

    messages: {
        txtTextOnly: {required: "Dette felt skal udfyldes"},
        txtNumbersOnly: {required: "Dette felt skal udfyldes"},
        txtPhoneOnly: {required: "Dette felt skal udfyldes"},
        txtAreaCodeOnly: {required: "Dette felt skal udfyldes"},
        txtSimCodeOnly: {required: "Dette felt skal udfyldes"},
        txtCprOnly1: {required: "Dette felt skal udfyldes"},
        txtCprOnly2: {required: "Dette …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

7
推荐指数
2
解决办法
3883
查看次数

Javascript不兼容/不一致

我想在几周内做一个演示,并且想知道:在开发时你需要注意的十大Javascript不兼容性是什么?你绊倒了什么?我可以先从一个开始:

var somevar = {
 'internet': 'explorer',
 'hates': 'trailing',
 'commas': 'in',
 'json': 'code', // oh noes!
}
Run Code Online (Sandbox Code Playgroud)

使用像jQuery或base这样的框架可以解决哪些其他常见陷阱?

javascript

6
推荐指数
3
解决办法
1794
查看次数

标签 统计

javascript ×4

cross-browser ×1

jquery ×1