第一步:首先在src文件夹里面创建一个通用js文件夹,然后在创建的文件夹里面创建一个js文件 第二步:const 一个方法,然后通过export暴露出来(在同一个页面可以写多个方法,和暴露多个方法,在export里面暴露的方法要用逗号分隔) 第三步:把方法挂载在原型上(具体操作看图) 第五步:使用,在页面的export  default 里面的生命周期里面通过this.公共方法就能使用了. 结果: 就是这么简单,你学会了吗?…
主题:组建的封装  一:install注册的全局封装(v-grid九宫格组建)               1.九宫格的封装主要有三个api 点击功能 每行个数 是否隐藏边框               2.因为九宫格的内容自定义的可能性比较大,美容比较灵活,所以使用了slot插件,主要让用户自定义               3.主要技术就是组建中的传参   二: prototype原型的全局封装(v-cnfirm框)             1.主要功能,点击后跳出弹出框,弹出框内容自定义,…
vue实例基本结构与MVVM框架 (1)vue实例基本结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv=&…
截取七牛上传图片的后缀名: export function getInputKey(info){ let self = this; let obj = JSON.parse(info); let qiniuKey; let imaName; let imgSuffix; if(obj){ qiniuKey = obj.key; imaName = obj.fileName; imgSuffix = imaName.substring(imaName.lastIndexOf('.') + 1);…
1.Format函数 $.GM.Format = function (source, params) { if (arguments.length == 1) return function () { var args = $.makeArray(arguments); args.unshift(source); return $.format.apply(this, args); }; if (arguments.length > 2 && params.constructor !…
首先是我是写了一个 Loading 插件然后 是挂在打vue.prototype 原型上的. 在main.js中use使用了这个插件. 至此vue原型是就被我挂上 $loadding方法了. 然后我想在封装的axios的http.js文件里使用这个插件.所以我得想办法把vue实例引进来. 经过测试可以如下这样.(好吧上面,都是废话) 图中代码: import Vue from 'vue'; //引入vue //必须实例化 Vue let vm = new Vue(); /*这里有个点需要注意,直…
在我的前两篇文章中,我们已经介绍了 js 中实现继承的两种模式:原型链继承和借用构造函数继承.这两种模式都存在各自的缺点,所以,我们考虑是否能将这二者结合到一起,从而发挥二者之长.即在继承过程中,既可以保证每个实例都有它自己的属性,又能做到对一些属性和方法的复用.这样就 perfect 了. 一.回顾借用构造函数继承的缺点 先看我们之前在借用构造函数继承中最后用到的代码: //父类:人 function Person () { this.head = '脑袋瓜子'; this.emotion =…
1.原型链: 每个构造函数都有一个原型对象,且有一个指针指向该原型对象(prototype),原型对象都包含一个指向构造函数的指针(constructor),而实例都包含一个指向原型对象的内部指针(proto).若实例的原型是另一个构造函数的实例,该实例的原型有一个指向另一个原型的指针,层层递进,构成原型链. 原型上的属性和方法为所有实例所共有,当访问一个实例属性时,首先会在实例中搜索该属性,如果没有找到该属性,则会继续搜索该实例的原型,沿着原型链网上搜索,到原型链末端或找到为止. 1 2 3…
最近在写js的类库,模仿的是jquery的编程风格,当封装到事件监听的时候发现遇到了一个问题,代码是这样的: 上面是封装的一个事件委托的代码,我以为上面的封装跟普通的事件监听一样简单,结果我在调用时发现报错: 为什么会报这样的错,原来是不同于单一的onclick之类的事件,这边的this指向的是调用addEventListenner的的对象; 为了简化问题,我们将其拿到全局范围中单独去测试: 发现这里的this指向的就是div标签,这就是为什么在原型中调用$(this)会出错 因为是执行的上下文…
之前使用vue开发的项目频繁使用到localStorage,封装了一下 localStorage.js文件代码如下: let obj = {}; /** * putLocalStorage 把数据放到本地存储 * @param {*} key * @param {*} value */ obj.putLocalStorage = function (key, value) { window.localStorage.setItem(key, JSON.stringify(value)); };…
基于原生JS封装数组原型上的sort方法 最近学习了数组的原型上内置方法的封装,加强了用原生JS封装方法的能力,也进一步理解数组方法封装的过程,实现的功能.虽然没有深入底层,了解源码.以下解法都是基于个人理解用纯原生JS实现的功能.如有不对的地方,可以评论告诉我哟 首先,我们先来看一下sort方法的作用.参数.以及方法的返回值,原有数组是否发生改变 sort方法主要用于数组的排序 参数分为两种: 一种:传的参数是函数. (排序主要看函数的返回值) 另一种:传的不是函数.或者不传(只要传的不是函数…
JsQuick 该库为本人封装的Js库,尚未进行浏览器兼容 /** * 快速框架 版本:1.0.0 * 日期:2015.02.26 * 作者:简楚恩 */ /** * 快速获取控件类 */ var $={ /** * 根据ID获取对象 $.id("对象名称"); * @param {Object} id 对象名称 */ id:function(id){//根据ID获取对象 return "string" == typeof id ? document.getElem…
_ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| ''\---/'' | | \ .-\__ `-` ___/-. / ___`. .' /--.--\ `. . __ ."" '< `.___\_<|>_/___.' &…
执行JS脚本方法封装: class JavaScript(Base): def execute_javascript(self, js): """执行 JavaScript""" self.logger.info(f"执行 JavaScript:\n{js}") return self.driver.execute_script(js) def execute_async_javascript(self, js): "…
1.效果预览 2.用到的知识 主要利用SVG的stroke-dasharray和stroke-dashoffset这两个属性. 在看下面文章之前,你需要了解 <!DOCTYPE html> <html> <head> <title>svg demo</title> <style type="text/css"> #line{ transition: all 2s; stroke-dasharray:300,320;…
JS中类的概念类,实际上就是一个function,同时也是这个类的构造方法,new创建该类的实例,new出的对象有属性有方法.方法也是一种特殊的对象. 类的方法在构造方法中初始化实例的方法(就是在构造方法中直接编写方法,并new实例化)是不推荐的,消耗内存(每次实例化的时候都是重复的内容,多占用一些内存,既不环保,也缺乏效率).所有实例是共有的,创建多个实例不会产生新的function,推荐在类的prototype中定义实例的方法,prototype中的方法会被所有实例公用. 1. 仿照jQue…
使用过jq的童鞋非常喜欢jq获取对象的方法,只要$()就可以获取,在此我封装一个js获取对象的方法 [注意]只对chrome,Firefox,opera,Safari,ie8及ie8以上版本有效 function getEle(ele,index){   var obj = document.querySelectorAll(ele);    if(index){     if(obj.length ==1){      return obj;     }     return obj[inde…
一:Date类型介绍 要创建一个日期对象,使用new操作符和Date构造函数即可: var now = new Date(); Date.parse()方法 其中Date.parse()方法接收一个表示日期的字符串参数,然后尝试根据这个字符串返回相应日期的毫秒数.ECMA-262没有定义Date.parse()应该支持哪种日期格式,因此这个方法的行为因实现而异,而且通常是因地区而异.将地区设置为美国的浏览器通常都接受下列日期格式: "月/日/年",如6/13/2004; "英…
当前是vue项目,想在tool.js(工具模块)中封装一个跳转页面的方法, goToUrl(name,query){ if(query){ if(query.addressCode){ vueObject.$router.push({name:name,query:query}); }else{ query.addressCode = this.getParam('addressCode'); this.$router.push({name:name,query:query}); } }else…
对象的特性: 1.唯一标识性,即使完全不一样的对象,内存地址也不同,所以他们不相等 2.对象具有状态,同一个对象可能处在不同状态下 3.对象具有行为,即对象的状态可能因为他的行为产生变迁 Js直到es6之前,有对象的概念,但是没有类的概念. 对象的分类: 1.内建对象 - 用Es标准中定义的对象,在任何的Es的实现中都可以使用(比如:Math,String,Number,Boolean,Function...) 2.宿主对象 -用Js运行环境提供的对象,目前来讲主要是指用浏览器提供的对象(BOM…
当我们不会写后端接口来测试ajax时,我们可以使用node环境创建一个本地服务器. 1.创建一个本地服务器可参考http://www.cnblogs.com/heyujun-/p/6793900.html网站整站开发小例子,在打开命令窗口并转到所在项目文件夹下在命令行中输入npm install express --save,安装express中间件. 2.把当中的app.js的内容换成 var express=require('express'); //var path=require('pa…
上次我们学习了Vue.js的基础,并且通过综合的小实例进一步的熟悉了Vue.js的基础应用.今天我们就继续讲讲Vue.js的组件,更加深入的了解Vue,js的使用.首先我们先了解一下什么是Vue.js的组件,组件其实就是页面组成的一部分,它是一个具有独立的逻辑和功能或页面,组件可以扩展 HTML 元素,封装可重用的代码.组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树,如下图: 接下来我们就仔细讲讲组件的使用吧. 1 全局组件 以下就是我们注册…
package com.yk.userlive.base; import java.net.MalformedURLException;import java.net.URL;import java.util.concurrent.TimeUnit; import org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.Proxy;import org.open…
贴个代码先: function O(user,pwd){ //use constructor this.user=user; this.pwd=pwd; this.get=get; return this; } function O2(user,pwd){ //use factory var obj=new Object(); obj.user=user; obj.pwd=pwd; obj.get=get; return obj; } function O3(){ //use prototype…
转自原文javascript的函数.创建对象.封装.属性和方法.继承 一,function 从一开始接触到js就感觉好灵活,每个人的写法都不一样,比如一个function就有N种写法 如:function showMsg(){},var showMsg=function(){},showMsg=function(){} 似乎没有什么区别,都是一样的嘛,真的是一样的吗,大家看看下面的例子. //函数定义:命名函数(声明式),匿名函数(引用式) //声明式,定义代码先于函数执行代码被解析 funct…
1.对象 在传统的面向过程的程序设计中,会造成函数或变量的冗余.而JS中对象的目的是将所有的具有相同属性或行为的代码整合到一起,形成一个集合,这样就会方便我们管理,例如: var person1={    name:"tan",    age:26,    showMessage:function(){        alert("name:"+this.name);    }};person.showMessage();//输出name:tan 以上的例子将nam…
什么是跨域 跨域:一个域下的文档或脚本试图去请求另一个域下的资源 广义的跨域包含一下内容: 1.资源跳转(链接跳转,重定向跳转,表单提交) 2.资源请求(内部的引用,脚本script,图片img,frame) 3.script内部发起的请求(ajax,dom请求,和js跨域调用 跨域问题出现: 只有浏览器端出现,直接用终端请求,是不会出现跨域拦截,是属于浏览器端的安全策略,浏览器将不同源的请求进行了拦截,限制了跨域资源访问 什么是同源 同源策略:same origin policy,如果两个资源…
一般我们写小型的项目是用不到封装axios实例 但是当我们写大型项目时  接口有时候多到有上百个接口,那我们在请求一次调用一次接口,接口上好多都是重复的,这个时候我们就可以封装axios实例,既节省了事件.有可以少些好多代码 首先我们要先安装axios npm i axios --save 然后在vue项目中要创建两个文件夹api文件和http文件 当然文件名是自定义的 在http文件下http.js中要这样写 import axios from 'axios'; //环境的切换 环境指的就是开…
找到上面这个 文件,不管是用 命令创建 还是 用 HBX 创建,都一样会有这个文件的,然后跟着截图复制粘贴就好了. // 这是配置本地能跨域的,或者你可以直接让后端给你设置请求头,避免了跨域. "devServer" : { // "disableHostCheck" : true, //禁止访问本地host文件 ( 个人建议注释掉这一行,不然很有可能会请求不到 ) // "https" : true, // "port" :…
全部章节 >>>> 文章目录 一.Vue组件介绍 1.组件概述 2.组件使用步骤 3.实践练习 一.Vue组件使用 1.组件注册 2.组件注册语法糖 3.使用script或template标签 4.组件的el和data选项 5.实践练习 三.组件之间的通信 1.父组件和子组件 2.通过props向子组件传递数据 3.实践练习 四.Vue的插槽 1.插槽使用 2.作用域插槽使用 3.实践练习 总结: 一.Vue组件介绍 1.组件概述 组件系统是Vue其中一个重要的概念,它提供了一种抽…