`
decentway
  • 浏览: 160708 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

YUI:globle object

阅读更多

YUI模块是YUI3中的单一核心,所有需要使用YUI3的页面都必须包含该 
模块,该模块提供加载功能,可以使用该功能动态加载指定模块,其依 
赖模块会被自动加载,所以YUI模块可以看成YUI的一个种子。 

YUI模块创建了一个全局对象:YUI,一个页面可以共享一个YUI实例,也 
可以使用多个实例。 

 

 

YUI模块是所有YUI3.x实现的核心基础。所有使用YUI的页面都需要引入YUI模块。只把YUI模块引入后,就可以开始编写YUI代码了。 YUI模块有【加载功能】和【依赖关系分析功能】。这两个功能是YUI实现最核心的功能。你提供所需的YUI模块列表和使用这些模块的代码,在这些代码执行之前,YUI会自动发送一个优化的HTTP请求,加载需要用到的模块和组件。虽然你可能也会使用YUI模块中加载script和css的功能,但是 YUI模块的核心目的是作为一个基础,为更高级的应用提供支持。

YUI模块创建一个全局的YUI对象。这个对象可以被实例化,它被用于创建YUI实例,然后把不同的功能模块绑定到该YUI实例上。一个页面可以共享一个YUI实例,也可以为不同的功能使用不同的YUI实例。

使用YUI Global 对象

为什么使用命名空间

YUI核心

Use方法

模块列表

用YUI.add创建一个自定义的模块

装载器Loader

 

为什么使用命名空间

1.向后兼容:

2.沙盒技术:

3.版本兼容:

4.更加动态:

5.强大的选择器:

6.事件标准化:

YUI核心

YUI Global Object是一个可实例化的对象,允许你创建任意个你需要的YUI实例。

Component 和Module区别:

1.先从字面意思上理解
Component   是组件
Module 是模型

2.从形态上来看,模块和组件都是相对稳定的代码的一种称呼。
但是从实际的功能范围上来看,组件一般来说是实现某一种功能或者某一个功能的某一个细节的稳定的相对独立的类,而模块则至少有一个组件组成,也就是说模块的覆盖范围要比组件更大一些,它可能有多个组件组成,甚至除了组件之外还有很多相对稳定但并不会提供独立功能的代码一起来构成。
这就是两者的差别。

 

 

 

YUI 3 COMPONENT MODULE
Array Operations array
YUI Core core
JavaScript language helper methods lang
Periodic execution method later
Logging support log
Object Operations object
Browser Sniffing ua
YUI Object yui
Dynamic script and css loading get
YUI Loader loader


Use方法简写: 
使用*加载所有的模块: 
YUI().use('animation', function(Y) { 
    // Y.Anim is available 
}); 

静态加载vs动态加载 
当检测到缺少依赖文件时,YUI自动试图完成自身加载。当动态加载以来文件时,传给use的回调函数将会异步执行。如果你静态包含所有库(或者通过其他方式之前加载好的),use()方法的回调函数将同步执行。回调函数的目的就是执行是否同步不重要。如果动态加载的,代码立刻追踪use语句将无法访问任何的加载模块。你可以通过设置YUI配置引导bootstrap阻止YUI自动试图获取缺失依赖文件。 

 

用YUI.add创建一个自定义的模块

待完成。。。

装载器Loader

对于Loader,有效的配置选项如下:

lang:首选语言列表,as BCP 47 language tags,对首选项排序。loader使用这个列表来决定选择哪个语言,也可以加载必要的资源包。参考Internationalization模块获得更多信息。

base:base路径

 

secureBase:The secure base dir (not implemented)

 

comboBase:

root:

filter:应用于结果urls的过滤器。这个过滤器为所有模块修改默认路径。YUI 库的默认的路径是最小化(压缩后)的版本(例如,event-min.js)。过滤器属性可以是一个预定义的,也可以是自定义的。有效的预定义过滤器是:

DEBUG:选择库的调试版本(例如,event-debug.js)。

RAW:选择库的非压缩版本(例如,event.js)。

例如加了 { filter: 'raw' }之后,head里面的js:


不加 filter: 'raw' ,加载的都是min版。


你也可以定义一个自定义的过滤器,它必须是一个包含一个查询表达式和一个替换字符串的对象常量:

myFilter:{

'searchExp':"-min\\.js",

'repalceStr':"-debug.js"

}

combine:

ignore:永远也不动态载入的模块列表

force:即使已经在当前页面上出现了,也在需要时候加载

insertBefore:插入点,

charset:

jsAttributes:

cssAttributes:

timeout:

context:

modules:配置模块列表,有效的模块配置数据如下:

name:必须的,组件的名字。

type:必须的,组件类型(js or css)

path:

fullpath:

requires:这个组件需要的模块数组

optional:这个组件可选的模块

supersedes:这个组件所代替的模块列表

after:

rollup:

lang:

groups:

 

 Lang

var Y = YUI();

// true, an array literal is an array
Y.Lang.isArray([1, 2]);

// false, an object literal is not an array
Y.Lang.isArray({"one": "two"});

// however, when declared as an array, it is true
function() {
    var a = new Array();
    a["one"] = "two";
    return Y.Lang.isArray(a);
}();

// false, a collection of elements is like an array, but isn't
Y.Lang.isArray(document.getElementsByTagName("body"));

// true, false is a boolean
Y.Lang.isBoolean(false);

// false, 1 and the string "true" are not booleans
Y.Lang.isBoolean(1);
Y.Lang.isBoolean("true");

// null is null, but false, undefined and "" are not
Y.Lang.isNull(null); // true
Y.Lang.isNull(undefined); // false
Y.Lang.isNull(""); // false

// a function is a function, but an object is not
Y.Lang.isFunction(function(){}); // true
Y.Lang.isFunction({foo: "bar"}); // false

// true, ints and floats are numbers
Y.Lang.isNumber(0);
Y.Lang.isNumber(123.123);

// false, strings that can be cast to numbers aren't really numbers
Y.Lang.isNumber("123.123");

// false, undefined numbers and infinity are not numbers we want to use
Y.Lang.isNumber(1/0);

// true, objects, functions, and arrays are objects
Y.Lang.isObject({});
Y.Lang.isObject(function(){});
Y.Lang.isObject([1,2]);

// false, primitives are not objects
Y.Lang.isObject(1);
Y.Lang.isObject(true);
Y.Lang.isObject("{}");

// strings
Y.Lang.isString("{}"); // true
Y.Lang.isString({foo: "bar"}); // false
Y.Lang.isString(123); // false
Y.Lang.isString(true); // false

// undefined is undefined, but null and false are not
Y.Lang.isUndefined(undefined); // true
Y.Lang.isUndefined(false); // false
Y.Lang.isUndefined(null); // false

 

  • 大小: 13.8 KB
  • 大小: 21 KB
分享到:
评论

相关推荐

    yui_2.9.0用于javascript基础教程

    适合图灵程序设计丛书web开发系列-javascript基础教程的学习使用

    yui_2.9.0前端UI

    YUI 库,全称Yahoo! UI Library。是一组工具和控件,用JavaScript写成, 为的是用DOM 脚本,DHTML和AJAX等技术创建丰富的网页交互式应用程序。 YUI 基于BSD协议,对所有的使用方式都是免费的。YUI 项目包括YUI 库和两...

    YUI类库2.9.0下载download

    YUI 2 is a JavaScript and CSS library with more than 30 unique components including low-level DOM utilities and high-level user-interface widgets. Currently at version 2.9.0, YUI 2 is robust, proven, ...

    yui2.9

    《深入解析YUI 2.9:一个强大的JavaScript库》 YUI,全称为Yahoo! User Interface Library,是雅虎公司推出的一款开源JavaScript库,它为开发者提供了丰富的工具和组件,帮助构建高效、可扩展的Web应用程序。YUI ...

    yui:IRKit中的智能生活

    【标题】"yui:IRKit中的智能生活"揭示了一个基于JavaScript的项目,它与IRKit设备集成,致力于实现家居智能化。IRKit是一款能够接收、发送红外信号的小型硬件设备,使得用户可以通过编程来控制各种红外遥控器所能...

    yui:最小的vim配色方案

    【yui:最小的vim配色方案】 在程序员的世界里,Vim是一款备受推崇的文本编辑器,以其高效、轻量级和高度可定制性著称。为了提升Vim的使用体验,用户们通常会根据个人喜好配置各种插件和配色方案。"yui"便是这样一...

    nodejs-yui:这是带有yui的node.js

    nodejs-yui 这是带有yui的node.js 首先在您的计算机上安装node.js。 将此文件解压缩到目录中。 从终端窗口进入目录并运行'npm install'可能是需要此权限的sudo用户权限。 运行“节点服务器”。 转到

    chosen-yui:选择 JS -- 转换为 YUI

    选择-yui 使用,请确保获取原生 js 文件, 和 。 那么你都准备好了。 使用 selected.yui.js 而不是 selected.prototype 或 selected.jquery 他们 (HarvestHQ) 正准备发布 ChosenJS 的完全原生版本,所以我不打算...

    Yui:一款由eris和love打造的超棒Discord机器人!

    Yui,这是一个由node.js和discord.js构成的Discord机器人。 自托管机器人 我不支持或鼓励对该机器人进行自我托管。 此处的代码用于学习和提高透明度。 只要您遵守许可,我们都不会在乎您是否托管自己的Yui版本。 ...

    YUI.rar_html_javascript YUI_yui_yui javascript

    **YUI:Yahoo! User Interface Library** YUI是雅虎公司开发的一个开源JavaScript库,它为Web开发者提供了丰富的工具和组件,以构建高效、可扩展的网页应用。这个压缩包"YUI.rar"包含了YUI的源代码以及相关的HTML和...

    yui.rar 例子

    《深入理解YUI:基于“yui.rar 例子”的解析》 YUI,全称Yahoo! User Interface Library,是雅虎公司推出的一款开源JavaScript库,旨在帮助开发者构建高性能、易于维护的网页应用。本篇文章将结合“yui.rar 例子”...

    discord-bot-Yui:游戏设计IP宇宙的不和谐机器人

    Discord-bot-Yui “游戏设计界”的Discord机器人 设置 转到不和谐网站上以生成您的令牌并将其复制到config.json 按“开始”,您将看到“就绪”并享受它! 公告 更新2021/03/23 基本功能设置。

    yui 资源包

    《深入理解YUI 3.9.0 r2:界面设计与资源优化》 YUI,全称为Yahoo! User Interface Library,是由雅虎公司开发的一个开源JavaScript库,它旨在简化Web应用程序的构建,特别是对于界面设计和交互效果的实现。在3.9.0...

    yuicompressor-maven-plugin

    **yuicompressor-maven-plugin详解** `yuicompressor-maven-plugin`是一款强大的Maven插件,主要用于优化前端资源,特别是JavaScript和CSS文件。这个插件是基于YUI Compressor,一个由Yahoo开发的开源工具,它能...

    yui3-master.zip

    《深入理解YUI3:基于yui3-master.zip的探讨》 YUI(Yahoo! User Interface Library)是由雅虎公司开发的一套开源JavaScript库,它为Web开发者提供了丰富的功能和工具,以创建交互性强、性能优秀的网页应用。YUI3是...

    JavaScript YUI 2.8: DataTable jquery form 异步请求显示数据分页

    JavaScript YUI 2.8 和 DataTable 是 Yahoo! UI Library 的一部分,它提供了一种强大的方式来展示和操作表格数据。jQuery form 插件则用于处理表单的异步提交,通常用于实现无刷新的数据更新。在本文中,我们将深入...

    yuicompressor-yui compressor

    yuicompressor-2.4.2.jar yuicompressor-2.4.7.jar jsZip.exe yuicompressor yui compressor js压缩工具 javascript压缩工具 css压缩工具 ------------------------------------ //压缩JS java -jar yui...

    YUI3.7.3 最新版本 带API

    YUI(Yahoo! User Interface Library)是雅虎公司推出的一款开源JavaScript库,旨在帮助开发者构建高性能、可扩展的网络应用程序。YUI3.7.3是YUI的一个特定版本,它在发布时被视为最新的版本,提供了许多改进和新...

    yui_2.6.0r2

    1. DOM(Document Object Model):YUI的DOM模块提供了对HTML文档的高级操作,包括元素选择、属性修改、事件绑定等,简化了与DOM树的交互。 2. Event:事件处理是Web开发中的关键部分,YUI的Event模块提供了一套跨...

    YUI-EXT使用详解

    **YUI-EXT使用详解** YUI-EXT是基于Yahoo! User Interface Library (YUI)的一个扩展库,专为构建富互联网应用程序(RIA)而设计。YUI-EXT提供了许多高级组件,如表格、菜单、窗口、表单、布局管理器等,极大地丰富...

Global site tag (gtag.js) - Google Analytics