我在w3schools.com上学习了很多关于web开发的好经验.我知道,它的成功与否,但PHP和CSS部分已经证明非常有用,可供参考.
无论如何,我想知道jQuery是否有类似的网站.我对学习感兴趣,但我需要它在线/可搜索,所以当我将来需要这些信息时,我可以轻松地参考它.
另外,简单来说,jQuery值得学习吗?或者我应该查看不同的JavaScript库?我知道Jeff在Stack Overflow上使用了jQuery,它似乎运行良好.
谢谢!
编辑:jQuery的网站有一个非常大的教程列表,以及一个看似全面的文档页面.我还没来得及完成这一切,还有其他人有过这方面的经验吗?
编辑2:谷歌现在正在托管jQuery库.这应该让jQuery在宣传方面具有相当大的优势.
此外,如果每个人都使用在同一个地方托管的单个统一aQuery库,那么它应该尽早为大多数Internet用户缓存,因此如果您决定使用它,则不会影响您网站的下载足迹.
编辑3:我最近在工作中开始使用jQuery,这很棒!只是想让每个人都知道我已经得出结论,绝对值得学习和使用jQuery.
此外,我几乎完全从官方jQuery 文档和教程中学到了什么.这非常简单.
自从我最初撰写这篇文章以来,jQuery就是我所做的每一个网络应用程序的一部分.它使渐进式增强变得轻而易举,并有助于使代码可维护.
此外,所有jQuery插件都是宝贵的资源!
几乎每天都在使用jQuery.我现在编写jQuery插件并全职咨询.我主要是一个Djangonaut,但我已经用jQuery做了几个javascript合同.这是一个救生员.
从一个jQuery用户到另一个...你应该看看使用jQuery(或下划线 - 参见下文)的模板.
除了jQuery之外我发现其他有价值的东西(估计我使用它的部分项目):
假设我有一个基本的递归函数:
function recur(data) {
data = data+1;
var nothing = function() {
recur(data);
}
nothing();
}
Run Code Online (Sandbox Code Playgroud)
如果我有匿名功能,我怎么能这样做...
(function(data){
data = data+1;
var nothing = function() {
//Something here that calls the function?
}
nothing();
})();
Run Code Online (Sandbox Code Playgroud)
我想要一种方法来调用调用这个函数的函数...我已经看到某个地方的脚本(我记不清哪里)可以告诉你一个被调用的函数的名字,但我记不起任何一个那个信息现在.
我不需要使用json字符串并使用$ .parseJSON,而是将对象存储在变量中,并将其存储为表示json的字符串.
(我正在处理的库需要格式错误的json类型,所以我需要弄乱它以使其工作.)
最好的方法是什么?
我在FF3.0中加载我的索引页面时收到以下错误.抱歉,我无法在此处粘贴脚本,因为它是2030行代码.
element.dispatchEvent不是一个函数
在扩展它给我下面的东西,
fire()()prototype.js?1(第3972行)
_methodized()()prototype.js?1(第246行)
fireContentLoadedEvent()prototype.js?1(第4006行)
[打破此错误] element.dispatchEvent(event);
element.dispatchEvent(event);
在prototype.js的第3972行.我在我的索引页面中包含了prototype.js和10个其他js文件.
有没有人遇到过这种错误?请有人解释为什么会出现这个错误.
Web浏览器DOM自90年代末开始出现,但它仍然是性能/速度方面最大的限制因素之一.
我们拥有来自谷歌,Mozilla,微软,Opera,W3C以及为我们所有人开发网络技术的各种其他组织的世界上最杰出的人才,所以显然这不是一个简单的"哦,我们没有优化它" 问题.
我的问题是,如果我要在网络浏览器上专门处理这个问题,为什么我会这么难以让它运行得更快?
我的问题是不问是什么使得它缓慢,则问,为什么还没有它变得更快?
这似乎与其他地方的情况有关,例如JS引擎的性能接近C++代码.
快速脚本示例:
for (var i=0;i<=10000;i++){
someString = "foo";
}
Run Code Online (Sandbox Code Playgroud)
由于DOM缓慢的例子:
for (var i=0;i<=10000;i++){
element.innerHTML = "foo";
}
Run Code Online (Sandbox Code Playgroud)
根据要求提供的一些细节:
在基准测试之后,看起来这不是一个无法解决的慢问题,但通常使用错误的工具,并且使用的工具取决于您跨浏览器的操作.
看起来浏览器之间的DOM效率差别很大,但我最初认为dom缓慢且无法解决的假设似乎是错误的.
我对Chrome,FF4和IE 5-9进行了测试,您可以在此图表中看到每秒的操作数:
使用DOM API时Chrome很快就会闪电,但使用.innerHTML运算符要慢得多(速度慢1000倍),但在某些方面,FF比Chrome差(例如,附加测试要慢得多) Chrome),但InnerHTML测试运行速度比chrome快得多.
IE似乎实际上在使用DOM追加时变得越来越糟糕,并且随着你从5.5开始的版本更好地使用innerHTML(即IE8中的73次/秒现在在IE9中的51次/秒).
我在这里有测试页面:
http://jsperf.com/browser-dom-speed-tests2
有趣的是,在生成DOM时,似乎不同的浏览器似乎都面临着不同的挑战.为什么这里有这样的差距?
可以说我有一张桌子:
Column | Type | Notes
---------+------------ +----------------------------------------------------------
id | integer | An ID that's FK to some other table
seq | integer | Each ID gets its own seq number
data | text | Just some text, totally irrelevant.
Run Code Online (Sandbox Code Playgroud)
id
+ seq
是组合键.
我想看到的是:
ID | SEQ | DATA
----+------ +----------------------------------------------
1 | 1 | Quick brown fox, lorem ipsum, lazy dog, etc etc.
1 | 2 | Quick brown fox, lorem ipsum, lazy dog, etc etc.
1 | …
Run Code Online (Sandbox Code Playgroud) 我已经通过ssh2连接ssh2_connect
到服务器,但我没有在联机帮助页中看到我应该如何结束连接的任何方法.
在断开连接之前,我并不是在等待脚本结束的粉丝.
我可以用fclose
吗?这听起来不错......
假设您正在处理您的正常联系人数据库(您知道...姓名,电话号码,地址,电子邮件等...).如果你在当地对此表示不满,那么处理这个问题通常不是一个大问题,但是当我们看到国际集时,它就是.
看着电话号码系统,你会认为这很简单,但事实并非如此.在北美,我们通常有1-222-333-4444格式用于呼叫人.这当然分为您的国际拨号代码,区号,交换前缀和行号.问题:实际电话号码是有限的,美国大约有220个区号在潜在的1000个区域内,每个区号只有有限数量的交换机,并且线路号码仅限于该国家/地区的特定用途(例如, 911的模式受到限制,只有10,000个中的约3/4在使用中.把这个带到英国,他们有自己的行号规则,例如保留0300-0399块的大部分特定用途,以及其他限制.国际代码也是有限的.规范区号,交换,并将数据验证检查放到电话号码上变得复杂了.我不会详细说明我们何时进入不属于该地区的地方NPA计划,但我们只是确定我们不能真正信任北美模板,踢回去,并称之为一天.
我们如何规范这样的事情?我们如何验证数据?我们如何处理这些看似临时的扩展代码或内部拨号指令?
国际地址不是更好,不仅保留数据之间的差异,而且输出格式也不尽相同.我们如何处理国际邮政编码,加拿大的格式是A1A1A1,而美国的系统如55555 [-4444]?
当我遇到它们时,我很想为每种情况编写类,将它们作为XML/JSON /类似存储在数据库中,但是我如何关联字段并轻松搜索我的内容?我不想最终为每个国家创建数千张表的表格.我想要一个易于扩展的解决方案,我可以规范我的地址并验证内容.这要问太多了吗?
validation database-design normalization internationalization
在javascript中,如果我们有一些代码,如
var a = "one";
var b = q || a;
alert (b);
Run Code Online (Sandbox Code Playgroud)
逻辑OR运算符将为b分配值,并且警报将为"1".
这仅限于作业还是我们可以在任何地方使用它?
似乎空字符串的处理方式与undefined相同.这是正确的吗?
这如何与AND变量一起使用?它们的组合怎么样?
什么时候使用这些成语,或何时不使用?
查看javascript类型我试图找出某些数据类型的最大存储大小.例如,我设置了一个快速递归算法来增加var大小,直到浏览器崩溃,最终在我现有版本的chrome上的字符串接近128mb(或者可能是256).
我一直在做这个痛苦的方式,因为我找不到任何关于此的规格,但是持续的浏览器崩溃使得这是一个痛苦的试验(尝试捕获因某些原因在这个特定问题上似乎无用).
我正在寻找有关其他类型的最大存储大小的信息(数组,对象,函数,字符串,数字,bools ......)
EMCA-262第8.4节对此持模糊态度
String的长度是其中的元素数(即16位值).空String的长度为零,因此不包含任何元素.
...所以也许这是需要在浏览器中实现的东西?
然而,ECMA会告诉我们有关数字的信息,例如
Number类型具有18437736874454810627(即2 ^ 64-2 ^ 53 + 3)值,表示IEEE标准二进制浮点运算中指定的双精度64位格式IEEE 754值,但9007199254740990(即,2 ^ 53-2)IEEE标准的不同"非数字"值在ECMAScript中表示为单个特殊NaN值.
但后来我没有看到任何关于物体的东西.
我可以期待在浏览器中使用什么?是否有任何代码库可以帮助管理非常大的对象和字符串?
我可以在一个脚本中分配多少内存?
javascript ×7
jquery ×2
disconnect ×1
dom ×1
ecma262 ×1
element ×1
firebug ×1
json ×1
php ×1
postgresql ×1
recursion ×1
review ×1
scope ×1
sql ×1
ssh ×1
validation ×1