前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Extjs-lesson1

Extjs-lesson1

作者头像
小闫同学啊
发布2020-06-28 17:30:40
6450
发布2020-06-28 17:30:40
举报
文章被收录于专栏:小闫笔记小闫笔记

❝小闫语录:活得傻一些,活得糊涂一些,活得简单一些,你会发现生活很美好。不要将事情计较的太过明白,不要将事情看得过于透彻,不要将自己陷入一堆琐事之中。 ❞

Ext.js 系列课程笔记

1.准备工作

  1. 熟悉 HTML
  2. 熟悉 CSS
  3. 熟练 javaScript
  4. 熟练 JS 的面向对象(oo)编程
  5. 熟练 Ajax

❝书籍推荐:《JavaScript 设计模式》《征服Ajax Web 2.0 开发技术详解》 ❞

2.Hello World

创建一个 html 页面,将 ext 的一些必要文件进行引入:

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- 引入 css 文件 -->
    <link rel="stylesheet" type="text/css" href="./ext-2.3.0/resources/css/ext-all.css"/>
    <!-- 引入 js 文件 -->
    <script type="text/javascript" src="./ext-2.3.0/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="./ext-2.3.0/ext-all-debug.js"></script>
    <!-- 引入自己的 js 文件 -->
    <script type="text/javascript" src="./lesson01.js"></script>
  </head>
  <body></body>
</html>

创建对应的 js 文件 lesson01.js

代码语言:javascript
复制
(function() {
  Ext.onReady(function() {
    Ext.MessageBox.alert("提示", "hello world");
  });
})();

❝它的入口函数为 onReady ,即在加载完成 html 页面之后,再加载入口函数的内容。 ❞

显示效果:

ext-弹窗

3.官方 API 文档

小闫同学将开发工程师常用的官方文档进行了汇总,地址为「https://www.pythonnote.cn/OfficialDocuments/」文档会不定期补充更新,请收藏或转发给好友。

Ext.js 的文档也包含在内,点击对应按钮即可跳转。 包含了英文文档以及中文文档,英文吃力的同学,中文更方便哦 ~ ❞

document

下面是官方文档界面说明:

API-zh

❝文档讲解的超级详细,当哪里不理解的时候,可以快速检索学习。 ❞

4.对原生 js 扩展

4.1 Array remove

extjs 对原生的 js 进行了一些扩展,使得开发更加的高效化,比如 Array 的方法:remove。下面是它的 API

代码语言:javascript
复制
remove( o ) : Array
Removes the specified object from the array. If the object is not found nothing happens.

Available since: 1.1.0

Parameters
o : Object
The object to remove

Returns
Array
this array

简单的翻译来说:从数组中移除某个指定的对象,如果对象不存在,那么相当于什么都没发生,也不会报错。传入的参数是要移除的对象,返回的是这个数组。

「示例」

代码语言:javascript
复制
var msgArray = [1, 2, 3, 4, 5];
msgArray.remove(1);
alert(msgArray); // 1 被移除,弹出窗口显示 2,3,4,5

❝如果直接在 js 代码中执行上述代码会报错:没有 remove 方法。而在 Ext.onReady 中执行上述代码时,会正常无误。 ❞

当然上面只是众多 API 中的一个小例子,是为了说明它对原生 js 进行了很多扩展。那么他底层是怎么做的呢?

4.2 原理

代码语言:javascript
复制
Array.prototype.remove = function(obj) {
  if (null == obj) {
    return false;
  }
  for (var i = 0, n = 0; i < this.length; i++) {
    if (this[i] != obj) {
      this[n++] = this[i];
    }
  }
  this.length -= 1;
};

// 测试
var msgArray = [1, 2, 3, 4, 5];
msgArray.remove(1);
alert(msgArray); // 1 被移除,弹出窗口显示 2,3,4,5

其实大部分都是通过上述 prototype 为类添加方法,只不过官方的代码逻辑一定比这个完善的多。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.准备工作
  • 2.Hello World
  • 3.官方 API 文档
  • 4.对原生 js 扩展
    • 4.1 Array remove
      • 4.2 原理
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档