• 前端架构


    //1、声明
    //只读常量 const
    //全局变量 var
    //局部变量 let

    //2、赋值
    //2.1、按照对应位置,对变量赋值
    let [a, b, c] = [1, 2, 3];
    //2.2、Set 结构,也可以使用数组的解构赋值
    let [x, y, z] = new Set(['a', 'b', 'c']);
    //2.3、解构不仅可以用于数组,还可以用于对象
    let { foo, bar } = { foo: 'aaa', bar: 'bbb' };

    //3、对象拓展
    const o = {
        method() {
            return "Hello!";
        }
    };

    //4、Set 它类似于数组,但是成员的值都是唯一
    //4.1、Set本身是一个构造函数,用来生成 Set 数据结构
    const s = new Set();
    [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));
    for (let i of s) {
        console.log(i);
    }
    // 2 3 5 4
    //4.2、初始化
    const set = new Set([1, 2, 3, 4, 4]);  

    function _f(o) {
        console.log("调用call:" + o);
    }
    class Ajax {
        constructor(host) {
            this.host = host;
        }
        get(api) {
            console.log(this.host + api);
        }
        func(o) {
            _f.call(this, o);
        }
    }
    //Object.assign 方法向类添加多个方法
    Object.assign(Ajax.prototype, {
        post(api) {
            console.log(this.host + api);
        }
    });

    var ajax = new Ajax("http://microsoft-zh.com.cn");
    ajax.get("/api/open/user.get");
    ajax.post("/api/open/user.login");
    ajax.func("调用");

    class utils {
        //静态方法
        static print(x) {
            console.log(x);
        }

    }
    utils.print(1);

    /*立即执行*/
    //方式一
    (function () {
        console.log('Welcome to the Internet.');
    })();
    //方法二
    (() => {
        console.log('Welcome to the Internet.');
    })();
    //方法三
    let func = new class {
        constructor(name) {
            this.name = name;
        }
        getName() {
            console.log(this.name);
        }
    }("名字")
    func.getName();


    /*类继承*/
    class util extends utils {
        constructor() {
            super();
        }
    }
    util.print(2);

    //json2.js
    if (typeof JSON !== 'object') {
    JSON = {};
    }
    (function () {
    "use strict";
    var version = "1.1.0";
    if (typeof JSON.stringify !== "function") {
    JSON.stringify = function (value, replacer, space) {
    }
    }
    if (typeof JSON.parse !== "function") {
    JSON.parse = function (text, reviver) {
    }
    }
    }());


    //jQuery
    (function (window, undefined) {
    "use strict";
    var version = "1.1.0";
    var jQuery = function (selector, context) {

    }
    jQuery.fn = jQuery.prototype = {

    }
    window.jQuery = window.$ = jQuery;
    })(window)

    //vue.js
    'use strict';
    function Vue(options) {
    this._init(options);
    }
    Vue.version = '1.1.0';
    function initUse(Vue) {
    Vue.use = function (plugin) {
    }
    return this
    }
    function initExtend(Vue) {
    Vue.extend = function (extendOptions) {

    }
    return this
    }
    initUse(Vue);
    initExtend(Vue);

    //require.js
    var require, define;
    (function (global) {
    var req;
    req = function () { }
    define = function (name, deps, callback) { }

    req.version = "1.1.0";
    req.config = function (config) { }
    if (!require) {
    require = req;
    }

    }(this));

    //socket.io.js、redux.js
    (function (root, factory) {
    root["io"] = factory();
    })(this, function () {
    'use strict';
    return (function (modules) {
    function __webpack__(moduleId) {
    return {};
    }
    return __webpack__(0);
    })
    });

    //lodash.js
    (function () {
    function lodash(value) {
    return value instanceof LodashWrapper
    ? value
    : new LodashWrapper(value);
    }
    function LodashWrapper(value, chainAll) {
    }
    var version = "1.1.0";
    }.call(this));

    //react.js
    (function () {
    'use strict';
    function useCallback(callback, inputs) {
    }
    var React = {
    useCallback:useCallback
    }
    //冻结一个对象,防止对象被修改
    var react = Object.freeze({
    default: React
    });
    module.exports = react;
    })();

    //jquery.jplayer.js
    (function (root, factory) {
    factory(root.jQuery);
    }(this, function ($, undefined) {
    $.fn.jPlayer = function (options) {

    }
    $.jPlayer = function (options, element) {

    }
    })

    //lib.js
    (function (global, factory) {
    global["lib"] = factory();
    })(window, function () {
    "use strict";
    function lib() {

    }
    var libPrototype = lib.prototype;

    return lib;
    });

    //webim.js
    var webim = {
    /* function login
    *
    * params
    * info
    * listeners
    * options
    * return
    * (无)
    */
    login: function (info, listeners, options) { },
    /* function logout
    *
    * params
    * cbOk
    * cbErr
    * return
    * (无)
    */
    logout: function (cbOk, cbErr) { }
    }

    (function (webim) {
    //第一步:声明全局常量

    //第二步:创建工具类

    //第三步:声明对象 => 实现对象

    //sdk版本
    const sdk = {
    version: '1.7.2',
    appid: '537048168',
    plaatform: "10"
    };

    //后台接口主机
    const srvhost = {
    formal: {
    common: 'https://webim.tim.qq.com',
    pic: 'https://pic.tim.qq.com'
    }
    };

    var tool = new function () {
    //格式化时间戳
    this.formatTimeStamp = function (timestamp, format) { };
    //将空格和换行符转换成HTML标签
    this.formatText2Html = function (text) { };
    //将HTML标签转换成空格和换行符
    this.formatHtml2Text = function (html) { };
    //判断浏览器版本
    this.getBrowserInfo = function () { };
    };
    //日志对象
    var log = new function () {

    };
    //发起ajax请求
    var ajaxPost = function (meth, url, req, timeout, content_type, isLongPolling, cbOk, cbErr) {
    };
    var ajaxGet = function (meth, url, req, timeout, content_type, isLongPolling, cbOk, cbErr) {
    };
    //上传文件
    var uploader = new function () { };

    webim.tool = tool;
    webim.log = log;
    webim.login = webim.init = function (info, listeners, opts) { };
    webim.logout = webim.offline = function (cbOk, cbErr) { };
    }(webim));

  • 相关阅读:
    [leetcode]133. Clone Graph 克隆图
    [leetcode]366. Find Leaves of Binary Tree捡树叶
    [leetcode]311. Sparse Matrix Multiplication 稀疏矩阵相乘
    [leetcode]151. Reverse Words in a String翻转给定字符串中的单词
    [leetcode]150. Evaluate Reverse Polish Notation逆波兰表示法
    Union and Intersection of two sorted lists 并集和交集
    [leetcode]205. Isomorphic Strings 同构字符串
    [leetcode]428. Serialize and Deserialize N-ary Tree序列化与反序列化N叉树
    [leetcode]364. Nested List Weight Sum II嵌套列表加权和II
    属性 元素的内容 创建,插入和删除节点 虚拟节点
  • 原文地址:https://www.cnblogs.com/sntetwt/p/11806560.html
Copyright © 2020-2023  润新知