javascript核心
现在, Simply JavaScript的第一本印刷版已全部售罄,第二本印刷正在进行中,自从Cameron和我第一次梦想成书以来,现在正是时候做我一直期待的事情: 将Core库开放资源。
下载: core.js (1.0版,2007-08-29)
正如我之前在Simply JavaScript中所解释的:太简单了吗? 这本书采用了独特的方法,从第一页开始讲授简洁的脚本 。 它通过使用自己JavaScript库(即Core库)来实现此目的,以隐藏一些JavaScript事件处理和其他繁琐的任务的细节,直到读者熟悉为止。 现在,我很高兴将此库提供给所有人,而不仅仅是这本书的所有者。
另一个图书馆?
你问为什么呢? 毕竟,还有很多其他不错JavaScript库,从苗条的( base2 , jQuery )到结实的( YUI , Dojo )。 真的需要另一个吗?
所有这些库都在使JavaScript成为功能更强大,功能更丰富的语言方面做得非常出色。 已经对它们进行了调整和重新调整,以实现最佳性能和最小的开销,这就是为什么我们在书中给予它们如此多的覆盖。
但这不是Core库的目的。 Core库旨在通过消除通常使初学者感到困惑的难点, 使JavaScript成为一种更易于学习的语言 。 通过在极为宽松的MIT许可证下发布核心库,我们希望为帮助初学者使用JavaScript做出贡献,无论他们是否购买我们的书都可以这样做。
如何使用?
(当然)关于Core库的最佳用户指南是我们的书《 Simply JavaScript》 。 它不仅挤满了使用该库的示例,还包含详细的附录,逐行说明该库的工作方式。 就是说,这里是Core库及其使用的快速浏览。
要使用Core库,您必须下载core.js文件并将其放置在您的站点上,然后在使用它JavaScript代码之前的任何页面上使用<script>
标记加载它:
<head>
...
<script type="text/javascript" src="core.js"></script>
<script type="text/javascript" src="yourscript.js"></script>
</head>
加载Core库后,您可以使用以下模式编写简洁JavaScript代码:
var YourScript =
{
init: function()
{
// Your start-up code here
},
// Additional methods here
};
Core.start(YourScript);
最后一行的Core.start
方法将处理所有确保在包含脚本的页面加载完成后立即调用脚本的init
方法的所有详细信息。
Core库已通过当前最流行的浏览器进行了测试,其中包括:
- Firefox 2.0
- Internet Explorer 6.0和7.0
- Safari 2.0
- 歌剧9.23
它也有望与Internet Explorer 5.5和Firefox 1.5一起使用。
它还有什么作用?
同样,在Simply JavaScript的附录A中可以找到很多细节,但这是Core库提供的功能的简要介绍:
事件监听器
-
如上所示,在页面加载后调用
ScriptObject.init
。 -
注册在
target
或其子孙之一上发生type
(例如"click"
)事件时要调用的函数listener
。 在支持DOM2事件的浏览器中等效于target.addEventListener(type, listener, false)
。 -
取消注册函数
listener
以便在target
或其子孙之一上发生type
(例如"click"
)事件时将不会调用该函数listener
。 在支持DOM2事件的浏览器中等效于target.removeEventListener(type, listener, false)
。 -
取消与给定
event
对象关联的默认操作。 -
防止当前元素的祖先接收到给定
event
通知。
Core.start(ScriptObject)
Core.addEventListener(target, type, listener)
Core.removeEventListener(target, type, listener)
Core.preventDefault(event)
Core.stopPropagation(event)
CSS类管理
-
将指定的类添加到应用于
target
元素的现有类(如果有)。 - 返回文档中已应用指定类的所有元素的数组。
-
如果将指定的类应用于
target
元素,则返回true
否则返回false
。 -
从应用于
target
元素的类列表中删除指定的类。
Core.addClass(target, className)
Core.getElementsByClass(className)
Core.hasClass(target, className)
Core.removeClass(target, className)
计算样式
-
一旦所有各种CSS样式源都已应用到
target
元素,则检索指定CSS属性的有效值。
Core.getComputedStyle(target, styleProperty)
等一下……真烂!
如果您在Core库的代码中看到的内容还不够完善,或者您觉得库中缺少一项重要功能,那么我会很乐意考虑您可能提出的任何改进建议。 您可以在这里发表评论,也可以在kevin(sitepoint.com)上给我留言。
但是,请记住,该库的目的仅仅是消除使初学者难以学习JavaScript的粗糙之处。 我对将CSS选择器API添加到Core库不感兴趣,因为有很多不错的库可用于向JavaScript添加功能。 同样,性能优化对我来说并不是特别有趣,除非可以在不使代码更难理解的情况下进行性能优化。 毕竟,在Core库的帮助下学习JavaScript的最后一步是能够读取Core库并了解所有代码的工作原理!
我该怎么办?
![](https://i-blog.csdnimg.cn/blog_migrate/7946f5afc47e03ea9dfa9c92ce57d1b1.png)
免费学习PHP!
全面介绍PHP和MySQL,从而实现服务器端编程的飞跃。
原价$ 11.95 您的完全免费
MIT许可证使您几乎可以使用该库进行任何操作,包括使用它来发布竞争JavaScript书(顺便说一句,祝您好运)。 库的所有要求是,当您在自己的项目中使用库时,将库中包含的许可声明留给我们,就可以给我们带来荣誉。
我们绝不希望将这个库留给我们自己,我们会为它成为向初学者讲授JavaScript的事实上的起点而感到兴奋。 如果您确实以任何方式使用Core库,请考虑发表评论以告知我们!
翻译自: https://www.sitepoint.com/simply-javascript-the-core-library/
javascript核心