function $A(iterable) {
if (!iterable) return [];
if (iterable.toArray) return iterable.toArray();
var length = iterable.length || 0, results = new Array(length);
while (length--) results[length] = iterable[length];
return results;
}
Function.prototype.bind = function() {
var __method = this, args = $A(arguments), object = args.shift();
return function() {
return __method.apply(object, args.concat($A(arguments)));
};
};
Function.prototype.bindAsEventListener = function() {
var __method = this, args = $A(arguments), object = args.shift();
return function(event) {
return __method.apply(object, [event || window.event].concat(args));
};
};
Object.keys = function(object) {
var keys = [];
for (var property in object)
keys.push(property);
return keys;
};
Object.isArray = function(object) {
return object && object.constructor === Array;
};
Array.prototype.concat = function() {
var array = [];
for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);
for (var i = 0, length = arguments.length; i < length; i++) {
if (Object.isArray(arguments[i])) {
for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
array.push(arguments[i][j]);
} else {
array.push(arguments[i]);
}
}
return array;
};
Array.prototype.each=function(f){
for(var i=0;i<this.length;i++) f(this[i],i,this);
};
Array.prototype.include = function(object) {
var found = false;
this.each(function(value) {
if (value == object) {
found = true;
}
});
return found;
};
Array.prototype.clone = function(){
var len = this.length;
var r = [];
for(var i=0;i<len;i++){
if(typeof(this[i])=="undefined"||this[i]==null){
r[i] = this[i];
continue;
}
if(this[i].constructor==Array){
r[i] = this[i].clone();
}else{
r[i] = this[i];
}
}
return r;
};
Array.prototype.insert = function(index,data){
if(isNaN(index) || index<0 || index>this.length) {
this.push(data);
}else{
var temp = this.slice(index);
this[index]=data;
for (var i=0; i<temp.length; i++){
this[index+1+i]=temp[i];
}
}
return this;
};
Array.prototype.remove = function(s,dust){// 如果dust为ture,则返回被删除的元素
var dustArr = null;
for(var i=0;i<this.length;i++){
if(s == this[i]){
dustArr=this.splice(i, 1)[0];
}
}
if(dust){
return dustArr;
}else{
dustArr=null;
return this;
}
};
Array.prototype.without = function(data){// 如果dust为ture,则返回被删除的元素
var result = [];
for(var i=0;i<this.length;i++){
if(data == this[i]){
continue;
}
result.push(this[i]);
}
return result;
};
Array.prototype.indexOf = function(func){
var len = this.length;
for(var i=0;i<len;i++){
if (this[i]==arguments[0])
return i;
}
return -1;
};
Array.prototype.invoke = function(name) {
var args = $A(arguments);
args.shift();
for(var i=0; i<this.length; i++) {
this[i][name].apply(this[i], args);
}
};
Array.prototype.find = function(fun) {
for(var i=0; i<this.length; i++) {
if(fun(this[i])) {
return this[i];
}
}
};
Array.prototype.intersect = function(arr) {
var result = [];
for(var i=0; i<this.length; i++) {
if(arr.indexOf(this[i]) != -1) {
result.push(this[i]);
}
}
return result;
};
function $Element(ele) {
if(typeof ele == "string") {
ele = document.getElementById(ele);
}
$addMethod(ele);
return ele;
}
$E = $Element;
function $addMethod(ele) {
if(ele.__extended) {
return;
} else {
ele.__extended = true;
}
for(var p in _ObserveAble) {
ele[p] = _ObserveAble[p];
}
for(var p in _DomOperate) {
ele[p] = _DomOperate[p];
}
}
_DomOperate = {
/**
* @method getCenter get the element's center position
* @param {Element} dom
*/
getCenter: function(){
//dom = $E(this);
var pos = {left: this.offsetLeft, top: this.offsetTop};//dom.offset();
var width = this.clientWidth;
var height = this.clientHeight;
return {x: pos.left + width / 2, y:pos.top + height / 2};
}
};
_ObserveAble = {
observes:{},
fire: function(name, memo){
for(var p in this.observes) {
if(p == name) {
var event = {
meno: memo
};
observes[p](event);
break;
}
}
this.observes.invoke(name, memo);
},
observe: function(name, fun){
if(!this.observes[name]) {
this.observes[name] = fun;
}
},
stopObserving: function(name){
delete this.observes[name];
}
};
分享到:
相关推荐
`lang.js`是一个针对JavaScript的面向对象扩展库,专门为了弥补原生JavaScript在面向对象编程上的不足而设计。 `lang.js`库引入了类的概念,使得JavaScript可以更像传统的面向对象语言那样进行开发。在JavaScript中...
这个库可能使用了TypeScript作为其主要开发语言,这得益于TypeScript的强大类型系统和对JavaScript的扩展,使得构建复杂、可维护的库成为可能。 “abstract-lang”这个名字暗示了它的核心功能——提供一种抽象的...
**jsTree语言插件详解** jsTree是一款流行的JavaScript库,用于在网页中创建交互式的树状视图。它提供了一种优雅的方式,使用户能够以结构化的形式展示和操作数据。其中,`language-plugin`是jsTree的一个重要组成...
4. **语言扩展**:`jsjava-lang-2.0.js`扩展了JavaScript的基础语言特性,可能包括异常处理、类型检查、元编程等,提升了语言的表达力和安全性。 5. **验证功能**:`jsjava-validator-2.0.js`提供了数据验证功能,...
总结来说,CSSS-lang项目为Web开发提供了一种新颖的视角,将CSS这一原本用于样式控制的语言扩展到了编程领域,为开发者打开了新的创意空间。尽管目前可能还处在早期阶段,但其潜力不容忽视,值得我们去探索和应用。
总结来说,"Laravel开发-laravel-javascript-lang"是一个实用的工具,它帮助开发者将Laravel的强大功能扩展到前端,实现了翻译和路由的前后端共享,从而提升了现代Web应用的开发效率和用户体验。
- "ace":指代Ace.js编辑器本身,它是这个压缩包的核心内容。 - "web":表示这是一个用于Web环境的工具,可以在浏览器中直接使用。 - "bianjiqi":即“编辑器”,明确了Ace.js的功能。 综上所述,Ace.js是一个...
总结,`commons-lang3-3.0.js` 是Apache Commons Lang项目在JavaScript环境中的扩展,它为JavaScript开发者提供了与Java相似的工具类,简化了代码编写,提高了开发效率,尤其在处理字符串、数组、枚举、日期时间等...
up-lang,作为一个实验性的领域特定语言(DSL),是针对分布式应用程序设计的一种创新尝试。本文将深入探讨up-lang的核心概念、设计原则以及其与TypeScript的关联。 首先,了解DSL的概念至关重要。DSL是一种为特定...
它基于安装$ yarn add laravel-vue-lang随着Laravel Mix扩展该软件包附带Laravel Mix扩展。 您可以包含它并在Mix上调用.lang() 。 如果由于某种原因您的本地化文件不在resources/lang ,则可以将其路径作为参数传递...
JavaScript中的多语言支持,也称为国际化(i18n,取“internationalization”首字母缩写,18代表单词中的字母数),对于构建全球化网站或应用至关重要。它允许你的产品根据用户所在地区显示相应的语言内容。本文将...
"simplecalendar.js"是一款轻量级、易用且功能丰富的JavaScript日历插件,专为开发者设计,用于快速集成到各种Web应用中,实现事件记录与展示的功能。本文将深入探讨其核心特点、使用方法以及如何自定义和扩展。 一...
对象克隆ES5的深克隆和比较概要// just for conveniencevar log = function ( ) { console . log . apply ( console , [ ] . slice . call ( arguments ) ) } ; var src = { name : '... push ( 'javascript' ) ;log
使用GitHub 的数据获取与文件扩展名相关的语言或与某种语言相关的扩展名 小心! API在0.4.0中的更改 API在v0.4.0中进行了更改。 请参阅以下文档,以获取有关新API的详细信息。 如有任何疑问,请随时提出问题。 安装...
实现非常粗快猛,如果之后有空,也许可以写得好看一点,并扩展到或语言上。 例子 const sanitizer = require ( "./sanitizer" ) ; sanitizer ( "他站在那,感叹了句“What a beautiful scene!”。" ) // [ // { lang...
3. **lang** 文件夹:包含了video.js的多语言支持,允许开发者为不同地区的用户提供本地化体验。 4. **alt** 文件夹:可能包含备用图片资源,如播放/暂停按钮的替代图像。 5. **font** 文件夹:存放自定义图标字体...
Lang.js 提供了一种优雅的解决方案,通过模拟 Laravel 的翻译功能,让开发者能够快速集成和管理多语言资源。 ### 主要特点: 1. **简洁的API**:Lang.js 提供了与Laravel类似的API,如`trans('messages.welcome')`...
这个压缩包包含了Summernote编辑器运行所需的所有核心资源,包括字体、语言包、插件、样式表以及JavaScript文件。 1. **字体资源**(font): Summernote可能包含了多种字体资源,这些字体通常用于提供丰富的文本...
lang.js库提供了包和类的定义、类的继承与混合(mixin)、函数重载等功能,基本可满足大多数面向对象设计的需求。同时支持基于链式的定义方式,让库在使用时更加规范和便捷。下面首先通过简单的例子演示了lang.js的...
Script 代码可以放置在 HTML 文档的 `<head>` 或 `<body>` 标签内,但推荐将 ...随着技术的发展,JavaScript 也逐渐扩展到服务器端(Node.js)和移动应用开发(React Native、Ionic 等),成为全栈开发的重要工具。