js內置函數有哪些,js插件編寫常用工具函數及格式

 2023-10-18 阅读 23 评论 0

摘要:一、基本格式 1 ;(function(undefined) { 2 "use strict" 3 var _global; 4 5 var plugin = { 6 add: function(n1,n2){ return n1 + n2; },//加 7 sub: function(n1,n2){ return n1 - n2; },//減 8 mul: function(n1,n2){ return n1 * n2; },//乘 9 div: fun

一、基本格式

 1 ;(function(undefined) {
 2     "use strict"
 3     var _global;
 4 
 5     var plugin = {
 6         add: function(n1,n2){ return n1 + n2; },//
 7         sub: function(n1,n2){ return n1 - n2; },//
 8         mul: function(n1,n2){ return n1 * n2; },//
 9         div: function(n1,n2){ return n1 / n2; } //
10     }
11 
12     // 最后將插件對象暴露給全局對象
13     _global = (function(){ return this || (0, eval)('this'); }());
14 
15     // 判斷是否存在加載器  存在就使用加載器  不存在就使用全局對象
16     if (typeof module !== "undefined" && module.exports) {
17         module.exports = plugin;     // cmd 加載
18     } else if (typeof define === "function" && define.amd) {
19         define(function(){return plugin;});   // amd 加載
20     } else {
21         !('plugin' in _global) && (_global.plugin = plugin);  // 全局加載
22     }
23 }());

?

二、常用工具函數

js內置函數有哪些、1、對象合并

1 function extend(o,n,override) {
2     for(var key in n){
3         if(n.hasOwnProperty(key) && (!o.hasOwnProperty(key) || override)){
4             o[key]=n[key];
5         }
6     }
7     return o;
8 }
View Code

?2、自定義模版引擎

 1 function templateEngine(html, data) {
 2     var re = /<%([^%>]+)?%>/g,
 3         reExp = /(^( )?(if|for|else|switch|case|break|{|}))(.*)?/g,
 4         code = 'var r=[];\n',
 5         cursor = 0;
 6     var match;
 7     var add = function(line, js) {
 8         js ? (code += line.match(reExp) ? line + '\n' : 'r.push(' + line + ');\n') :
 9             (code += line != '' ? 'r.push("' + line.replace(/"/g, '\\"') + '");\n' : '');
10         return add;
11     }
12     while (match = re.exec(html)) {
13         add(html.slice(cursor, match.index))(match[1], true);
14         cursor = match.index + match[0].length;
15     }
16     add(html.substr(cursor, html.length - cursor));
17     code += 'return r.join("");';
18     return new Function(code.replace(/[\r\t\n]/g, '')).apply(data);
19 }
View Code

?

轉載于:https://www.cnblogs.com/worldly1013/p/8779825.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/149988.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息