JS的封装】的更多相关文章

JS是一门面向对象语言,其对象是用prototype属性来模拟的,下面,来看看如何封装JS对象. 常规封装 function Person (name,age,sex){ this.name = name; this.age = age; this.sex = sex; } Pserson.prototype = { constructor:Person, sayHello:function(){ console.log('hello'); } } 这种方式是比较常见的方式,比较直观,但是Per…
将js方法封装成类,好处就是团队开发中避免命名冲突,部分类整理代码如下: function LocalStorageHelper() { //检测浏览器是否支持localStorage this.checkIsSupportLS = function () { return !window.localStorage || true; } //根据key获得单个localStorage的值 this.getSingleLS = function (key) { if (!this.checkIsS…
[Node.js 自己封装的库 http_parse, libuv] Node.js 介绍:一个网络框架,更多:http://www.oschina.net/p/nodejs 官网:http://nodejs.org/ 代码库地址:https://github.com/joyent http_parser: 介绍:一个解析http协议的东西,有部分内容来自于Nginx 代码:https://github.com/joyent/http-parser libuv 介绍:基于异步事件的封装,比 li…
1. 在 main.js 中封装全局登录函数 通过 vue 对象的原型扩展,可以扩展一个函数,这样这个函数就可以在每一个界面通过类似指向对象的方式,去访问这个函数. 如下是 main.js 扩展的函数: Vue.prototype.checkLogin = function(backpage, backtype){    var SUID  = uni.getStorageSync('SUID');    var SRAND = uni.getStorageSync('SRAND');    v…
Node.js中也有一些功能的封装,类似C#的类库,封装成模块这样方便使用,安装之后用require()就能引入调用. 一.Node.js模块封装 1.创建一个名为censorify的文件夹 2.在censorify下创建3个文件censortext.js.package.json.README.md文件 1).在censortext.js下输入一个过滤特定单词并用星号代替的函数. var censoredWorlds=["sad","bad","mad&…
基于js原生封装的点击显示完整文字 (function(window) { var inner = ''; var showCont_s = function(ele) { this.init.apply(this, arguments); } showCont_s.prototype = { //初始化,显示 init : function(ele, dom) { var els = ele.dom; var h = els.offsetWidth, fh = els.innerText.le…
1.request.js  函数封装 import { Toast } from 'antd-mobile'; import axios from 'axios'; import store from '../store'; import { push } from 'react-router-redux'; import qs from 'qs'; // 请求路径 const BaseUrl = 'https://www.baidu.com/'; // 主机及端口 //axios默认配置请求的…
为什么要把js功能封装成插件呢?我觉得有以下几点吧 1.最基本的原因就是便于代码复用. 2.便于维护和管理. 3.提升自身的能力. 4.避免各个相同功能组件的干扰,以及一些作用域会相互影响的问题. jq的标准封装方式 <script type="text/javascript"> (function ($) { //这里放入插件代码 })(jQuery); </script> 这是jQuery官方的插件开发规范,这样写是作用是: 1. 避免全局依赖.2. 避免第…
常用js方法封装 var myJs = { /* * 格式化日期 * @param dt 日期对象 * @returns {string} 返回值是格式化的字符串日期 */ getDates: function(dt) { var str = ""; //存储时间的字符串 //获取年 var year = dt.getFullYear(); //获取月 var month = dt.getMonth() + 1; //获取日 var day = dt.getDate(); //获取小时…
Echart使用js进行封装成函数 主要是对 json 串的封装,使用 js 进行对 json 的解析.之间用的最多是循环取出数组中的值,如果拿去使用可直接修改 json 就好. 上一篇把二维的封装好了可以进行查看,这次封装有柱状图.饼状图.折线图.二维的散点图.三维的散点图.环形图.管道图.雷达图. 效果图 测试demo: 链接:https://pan.baidu.com/s/1_n5WKdTprvp7bxbfD_WFVg 密码:s56r…
1. 运行截图 演示地址 2. 在文件夹wwwroot/lib,添加kioskboard子文件夹,添加kioskboards.js文件 2.1 常规操作,懒加载js库, export function addScript(url) { let scriptsIncluded = false; let scriptTags = document.querySelectorAll('head > script'); scriptTags.forEach(scriptTag => { if (scr…
Viewer.js库是一个实用的js库,用于图片浏览,放大缩小翻转幻灯片播放等实用操作 本文相关参考链接 JavaScript 模块中的 JavaScript 隔离 Viewer.js工程 Blazor JS 隔离优势 导入的 JS 不再污染全局命名空间. 库和组件的使用者不需要导入相关的 JS.即不需要再在ssr的 Pages/_Host.cshtml 或 Pages/_Layout.cshtml ,wasm的 wwwroot/index.html 里写 第一遍载入静态资产请求包含值为 no-…
Blazor组件自做三 : 使用JS隔离封装ZXing扫码 本文基础步骤参考前两篇文章 Blazor组件自做一 : 使用JS隔离封装viewerjs库 Blazor组件自做二 : 使用JS隔离制作手写签名组件 1. 在文件夹wwwroot/lib,添加zxing子文件夹,里面下载库文件(文件文末源码里可复制) qrcode.min.js和zxing.min.js复制到此文件夹. 最终版本参考如下 +zxing |-qrcode.min.js |-zxing.min.js 2. 添加zxingjs…
运行截图 演示地址 响应式演示 感谢szimek写的棒棒的signature_pad.js项目, 来源: https://github.com/szimek/signature_pad 正式开始 1. 在文件夹wwwroot/lib,添加signature_pad子文件夹,里面下载库文件(文件文末源码里可复制) signature_pad.umd.js复制到此文件夹. 最终版本参考如下 +signature_pad |-signature_pad.umd.js 2. 添加app.js文件 +si…
Blazor组件自做五: 使用JS隔离封装Google地图 运行截图 演示地址 正式开始 1. 谷歌地图API 谷歌开发文档 开始学习 Maps JavaScript API 的最简单方法是查看一个简单示例.以下示例显示以澳大利亚新南威尔士州悉尼为中心的地图. 异步加载例子 JS代码 let map; function initMap() { map = new google.maps.Map(document.getElementById("map"), { center: { la…
1. 运行截图 演示地址 2. 在文件夹wwwroot/lib,添加baidu子文件夹,添加baidumap.js文件 2.1 跟上一篇类似,用代码方式异步加载API,脚本生成新的 body > script 元素添加到页面文档,使用异步加载回调 initMapsG 方法初始化地图. var map = null; var containerid = null; export function addScript(key, elementId, dotnetRef, backgroundColo…
JS虽然是一个面向对象的语言,但是不是典型的面向对象语言.Java/C++的面向对象是object - class的关系,而JS是object - object的关系,中间通过原型prototype连接,父类和子类形成一条原型链.本文通过分析JS的对象的封装,再探讨正确实现继承的方式,然后讨论几个问题,最后再对ES6新引入的类class关键字作一个简单的说明. JS的类其实是一个函数function,由于不是典型的OOP的类,因此也叫伪类.理解JS的类,需要对JS里的function有一个比较好…
很多相同的Jquery代码会在很多页面使用,每次都复制粘贴太麻烦了,不如封装成一个Jquery插件就方便了,至于影响网页的速度不,我就没有测试了哈. 代码如下 这是一个自定闪烁打印文字的Jquery特效 HTML代码如下: <div id="code"> <p>/**</p> <p>*2014-2-12</p> <p>*代码自动闪烁输入</p> <p>*/</p> --,I wa…
Magicodes.WeiChat同时也致力于提高后台开发效率,因此对在后台前端这块也做了一定的封装.我们先来说说主要的框架JS——mwc.js和mwc_elements.js.这两个JS文件位于Scripts目录下的app目录: · mwc:前端框架定义,可以理解为接口定义 · mwc_elements:基于前端框架定义的具体实现 主要API功能如下: 1日志 日志函数用于向浏览器控制台输出日志信息,比如调试信息.警告信息.错误信息.灾难信息等等,兼容主流的浏览器.后续还会增强相关函数,目前只…
var Api = { ajax:{ // 添加项目 旧! add_project : function(pro_name, html, css, js,callback) { $.post("/action/project/add", { "v_code":User.v_code, "pro_name" : pro_name, "html" : html, "css" : css, "js&qu…
模拟jQuery框架,利用原生的js技术,封装一个js框架,以加深对jQuery的常用api的使用和面向对象原理的理解:一:结构部分首先利用闭包,构造一个自执行函数,然后利用选择器函数Sizzle,获取dom元素:其后设置入口函数jQuery,返回一个F的实例:然后对jQuery.prototype进行设置:其后修改F的原型指向jQuery的原型,最后暴露出去两个接口$和jQuery:二:jQuery.fn.extend = jQuery.extend = function(){}通过向jQue…
最近在写js的类库,模仿的是jquery的编程风格,当封装到事件监听的时候发现遇到了一个问题,代码是这样的: 上面是封装的一个事件委托的代码,我以为上面的封装跟普通的事件监听一样简单,结果我在调用时发现报错: 为什么会报这样的错,原来是不同于单一的onclick之类的事件,这边的this指向的是调用addEventListenner的的对象; 为了简化问题,我们将其拿到全局范围中单独去测试: 发现这里的this指向的就是div标签,这就是为什么在原型中调用$(this)会出错 因为是执行的上下文…
以下是封装函数: // id:最外边大盒的id名function tab(id,ev){                var oWrap = document.getElementById(id);                var aLi = oWrap.getElementsByTagName("li");                var aDiv = oWrap.getElementsByTagName("div");              …
以下方法封装了获取ID元素的JS代码,调用以下代码方法并传值,则可以直接获取id所指元素 function $id(x) { //此处x只是形参,代表传进来的:要获取元素的id字符串 return document.getelementById(x); //在此获取该元素并直接返回个调用者 } 使用方法: 1.将以上代码另存为js代码后,引入想要使用的地方. 2.直接在JavaScript代码行中$id("想要的id名"):则可以直接获取到id所指向元素 好处: 只要封装方法合适,兼容…
json文本格式 { "userInfo":[ {name:"admin",password:"123"}, {name:"admin1",password:"123"} ] } js: window.onload=function(){ var txtName=..; var txtPwd=..; var url="Login.aspx?name="+txtName.value+&qu…
使用方法简单,只需要放在你的 utils.js 工具文件中,直接export const 加上下面封装方法,在别的文件中使用 {方法1,方法2,方法3...}引用后直接使用即可. 01.输入一个值.返回其数据类型 type = para =>{ return Object.toString.call(para).slice(8,-1) } 02.冒泡排序 升序 bubbleAsSort() bubbleAsSort = arr =>{ for(let i=0;i<arr.length -…
这一章我将讲述一些如何将透明度的变化也封装到调用函数中,对于前面几节课的介绍,已经将基本的属性封装到函数中了,宽,长等属性.关于透明度的变化还是有一点区别的,这一章我将封装透明度 先创建一个div <!DOCTYPE html> <html> <head> <title>js动画事件</title> <link href="move.css" rel="stylesheet" type="t…
                                                                                                     欢迎大家关注我的微信公众号,不定时更新                                                             使用方法非常简单,只需放到你的 utils.js 工具文件中,直接 export const 加上我的封装方法,在别的文件中使用{方法1,…
本实例开发的级联下拉菜单是根据已有json数据创建的DOM元素.点击文本框后,显示一级菜单.如果菜单中包含子菜单,菜单右侧会有指示箭头.点击菜单之后,会再显示下一级菜单,以此类推.当菜单下无子菜单时,选择菜单后会在文本框中显示. 打开后的级联菜单效果如图所示: 使用实例中封装好的插件,只需要有一个input元素,即可通过插件自动生成级联下拉菜单,html代码如下所示: <div style="margin-top:100px;text-align:center;"> <…
1.随机数 <script> function rnd(n,m){ return parseInt(Math.random()*(m-n)+n); } var a=rnd(45,47); alert(a); </script> 2.个位数补0 <script> function toDou(n){ return n<10?'0'+n:''+n; } var a=6; alert(toDou(a)); </script> 3. <script>…