小编Bob*_*ich的帖子

如何在JavaScript中为Internet Explorer浏览器修复Array indexOf()

如果您已经使用过任何长度的JavaScript,那么您就知道Internet Explorer没有为Array.prototype.indexOf()[包括Internet Explorer 8]实现ECMAScript函数.这不是一个大问题,因为您可以使用以下代码扩展页面上的功能.

Array.prototype.indexOf = function(obj, start) {
     for (var i = (start || 0), j = this.length; i < j; i++) {
         if (this[i] === obj) { return i; }
     }
     return -1;
}
Run Code Online (Sandbox Code Playgroud)

我什么时候应该实现这个?

我应该使用以下检查将其包装在我的所有页面上,检查是否存在原型函数,如果不存在,请继续并扩展Array原型?

if (!Array.prototype.indexOf) {

    // Implement function here

}
Run Code Online (Sandbox Code Playgroud)

或者浏览器检查,如果它是Internet Explorer,那么只需实现它?

//Pseudo-code

if (browser == IE Style Browser) {

     // Implement function here

}
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer cross-browser internet-explorer-8

294
推荐指数
7
解决办法
17万
查看次数

如何使用jQuery或Javascript将货币字符串转换为double?

我有一个文本框,其中包含一个货币字符串,然后我需要将该字符串转换为double以对其执行某些操作.

"$1,100.00"1100.00

这需要在所有客户端发生.我别无选择,只能将货币字符串作为货币字符串作为输入,但需要将其转换/转换为double以允许一些数学运算.

javascript jquery

229
推荐指数
11
解决办法
25万
查看次数

如果jQuery未通过验证,JSLint有什么用处

所以我一直在探索不同的方法来清理和测试我的JavaScript.我认为就像任何其他语言一样,改善的一种方法就是阅读好的代码.jQuery非常受欢迎,所以它必须具有一定程度的良好编码.

那么为什么当我通过JSLint的验证运行jQuery时,它给了我这样的信息:

错误:

第18行的问题字符5:预期标识符,而不是"未定义"(保留字).

不确定的,

第24行问题27:缺少分号.

jQuery = window.jQuery = window.$ = function(selector,context){

第24行的问题28:预期的标识符,而不是'='.

jQuery = window.jQuery = window.$ = function(selector,context){

第24行问题28: 停止,无法继续.(扫描0%).

这是使用JSLintjquery-1.3.1.js完成的

javascript jquery

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

Javascript方法命名小写与大写

我大部分是ASP.NET和C#的开发人员.我将变量命名为小写,我的方法以大写开头.但我研究的大多数javascript示例都有以小写字母开头的函数.为什么会这样,这有关系吗?

function someMethod() { alert('foo'); }
Run Code Online (Sandbox Code Playgroud)

VS

function SomeMethod() { alert('bar'); }
Run Code Online (Sandbox Code Playgroud)

javascript naming-conventions

34
推荐指数
1
解决办法
2万
查看次数

内联onclick JavaScript变量

我在这个html上面有一个JavaScript有没有办法在下面的代码中将它传递到EditBanner(JS Variable Here)中?

//EditBanner to be changed to pass a Js variable.
<input id="EditBanner" type="button" value="Edit Image" onclick="EditBanner();"/>
Run Code Online (Sandbox Code Playgroud)

html javascript onclick

15
推荐指数
3
解决办法
10万
查看次数

使您的JavaScript可维护

我正在将内部应用程序转换为通过jQuery使用更多Ajax.我正在摆脱当前ASP.NET应用程序背后的标准代码,并结合将运行客户端的JavaScript方法.我担心的是,允许这个应用程序保持可维护状态的最佳方法是什么.

javascript jquery

10
推荐指数
4
解决办法
956
查看次数

有没有时间&&(AndAlso)无关紧要&(和)

如果我正在评估两个变量,而不是两个方法调用,那么天气问题我使用"&&"或"&"

//some logic that sets bool values

boolean X = true;
boolean Y = true;

if (X & Y){
   // perform some operation
}

if (X && Y){
   // perform some operation
}
Run Code Online (Sandbox Code Playgroud)

另外我用于C#3.0/.NET 3.5的书只引用了&&运算符,&运算符会消失吗?

c# boolean-logic

8
推荐指数
3
解决办法
5808
查看次数

jqGrid multiselect对于大型本地数据和jQueryUI 1.8非常慢,jQueryUI 1.7很好

我在ASP.NET页面中使用jqGrid并将数据注入页面上的脚本块,然后从那里加载.对于这一个用例,我们必须立即在屏幕上显示大量数据.涉及300~500条记录,每行30列.对这种情况进行分页并不合适.用户需要能够扫描大量数据,选择40~60行然后移到另一个屏幕.

我不确定这是否适合jqGrid的乞讨,但在原型设计中,一切都运行得足够快.然而,在多选模式下,转向生产会很慢.

我已经把痛点缩小到了jQueryUI 1.8.如果我将其恢复到jQueryUI 1.7,它就足够快了.

jQueryUI 1.7~ 17.htm的例子

jQueryUI 1.8~ 18.htm的例子

注意:示例显示FireFox和IE中的差异最大,Chrome似乎没问题

两个页面都使用最新的jqGrid 3.8并选择了所有选项.

从谷歌CDN加载jQuery和jQueryUI

<base href="http://ajax.googleapis.com/" />
<link href="/ajax/libs/jqueryui/1.8/themes/start/jquery-ui.css" type="text/css"  />
<script src="/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>
<script src="/ajax/libs/jqueryui/1.8/jquery-ui.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

从我的服务器加载jqGrid JS/CSS

<link type="text/css" href="http://mymx.biz/jqGrid/ui.jqgrid.css" />
<script src="http://mymx.biz/jqGrid/grid.locale-en.js" type="text/javascript"></script>
<script src="http://mymx.biz/jqGrid/jquery.jqGrid.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

和我的大型本地数据集

<script src="http://mymx.biz/jqGrid/getGridData.js?v=1" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

数据集中的示例行

var gridData = [
{id:"1",aa:"aa1",bb:"bb1",cc:"cc1",dd:"dd1",ee:"ee1", ff:"ff1",
  gg:"gg1", hh:"hh1", ii:"ii1", jj:"jj1", kk:"kk1", ll:"ll1", mm:"mm1", nn:"nn1"},
{...}
];
Run Code Online (Sandbox Code Playgroud)

我的基本jqGrid设置调用

    $(function () {
      var gridData = getGridData(); // pulls from getGridData.js
      setupGrid(gridData);
    });

    function SelectRow(rowid) {
      // I …
Run Code Online (Sandbox Code Playgroud)

asp.net jquery jquery-ui jqgrid

3
推荐指数
1
解决办法
4077
查看次数

使用数字启动类或方法名称,为什么不呢?

我最近在javascript文件中快速缩短了一些方法名称,并在转换一个方法名称时遇到了问题:

之前:

RefreshSevenDayGrid(){
   // some stuff
}
Run Code Online (Sandbox Code Playgroud)

后:

7Day() {    
    // some stuff
}
Run Code Online (Sandbox Code Playgroud)

我很快发现javascript不再有效.我从几个人那里听说,数字永远不应该用于方法或类名.这有例外吗?

javascript

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