javascript
sdfujichao
这个作者很懒,什么都没留下…
展开
-
JS中工厂方法和构造函数创建的对象的关系
通过工厂方法和构造函数创建对象的方式和区别。 // 工厂模式创建对象 // 缺点是不能指出实例之间的关系。 function creatPerson (name,age){ var person = new Object(); person.name = name; person.age = age; return per原创 2016-05-10 10:01:27 · 424 阅读 · 0 评论 -
JS面向对象二:js对象的几种创建方式
原网页地址:http://www.jb51.net/article/25093.htmjs创建对象的几种常用方式小结(推荐)作者: 字体:[增加 减小] 类型:转载 时间:2010-10-24 我要评论最近在看javascript高级程序设计,其中对对象的创建做了具体的阐述,综合起来,总结了下(je知识库javascript专栏由这方面的教程,有兴趣的可以去知识转载 2016-08-02 15:23:28 · 291 阅读 · 0 评论 -
JS面向对象三:js的多态特性解析与代码实现
1 DOCTYPE html> 2 html lang="en"> 3 head> 4 meta charset="UTF-8"> 5 title>Documenttitle> 6 7 head> 8 script> 9 /*多态的基本概念:一个引用类型(变量)在不同情况下的多种状态。10 js本身是无态的,天生就支持多态。*/11 12 //Master类转载 2016-08-02 15:27:09 · 853 阅读 · 0 评论 -
JS面向对象四:继承
原文地址:http://javapolo.iteye.com/blog/1996871js实现继承的5种方式博客分类: js js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承有以下通用的几种方式1.使用对象冒充实现继承(该种实现方式可转载 2016-08-02 20:42:37 · 315 阅读 · 0 评论 -
js闭包二:应用场景
原文地址:http://blog.csdn.net/yanghua_kobe/article/details/6780181场景一:采用函数引用方式的setTimeout调用闭包的一个通常的用法是为一个在某一函数执行前先执行的函数提供参数。例如,在web环境中,一个函数作为setTimeout函数调用的第一个参数,是一种很常见的应用。setTimeout将要执行转载 2016-08-03 12:21:52 · 728 阅读 · 0 评论 -
js闭包一:闭包详解
原文地址:http://www.jb51.net/article/24101.htmjavascript深入理解js闭包作者: 字体:[增加 减小] 类型:转载 时间:2010-07-03 我要评论闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。一、变量的作用域要理解转载 2016-08-03 12:08:57 · 419 阅读 · 0 评论 -
JS连等赋值
转载出处:https://segmentfault.com/a/1190000004224719有这样一个热门问题:var a = {n: 1};var b = a;a.x = a = {n: 2};alert(a.x); // --> undefinedalert(b.x); // --> {n: 2}其实这个问题很好理解,关键要弄清下面两个知识点:J转载 2016-08-09 09:54:32 · 493 阅读 · 0 评论 -
JS实现异步编程的几种方式
转载出处:http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.htmlJavascript异步编程的4种方法作者: 阮一峰日期: 2012年12月21日你可能知道,Javascript语言的执行环境是"单线程"(single thre转载 2016-08-09 09:57:40 · 3685 阅读 · 0 评论 -
JS中null和undefine的区别
数据类型 undefine null number string boolean Object1: undefine:引入这个值是为了区分空对象指针和未经初始化的变量。未经初始化的变量默认就取undefine。只有一个值空对象指针:未分配或者尚未指向任何地方的指针。可以确保不指向任何对象或者函数。未经初始化的变量:可能指向任何地方。2: null:null是一个不存在的对象,就是没原创 2017-05-08 17:13:09 · 1286 阅读 · 0 评论 -
js预编译
<!DOCTYPE html><html><body> <script> /** * 1 通过定义并创建对象的实例 */ var person = {} var person = new Object(); /** *...原创 2018-11-30 13:20:29 · 147 阅读 · 0 评论 -
js生成对象,构造函数生成对象原理
<!DOCTYPE html><html><body> <script> /** * 1 通过定义并创建对象的实例 */ var person = {} var person = new Object(); /** *...原创 2018-12-09 11:35:08 · 452 阅读 · 0 评论 -
js的构造函数和原型链
<!DOCTYPE html><html><body> <script> function Car() { this.name = "I am a car" } Car.prototype.height = 100; var car = new C...原创 2018-12-09 20:37:42 · 241 阅读 · 0 评论 -
js中继承关系
<!DOCTYPE html><html><body> <script> /** * yeye -> baba -> erzi -> sunzi */ function Yeye() { this.yeye = "yeye"..原创 2018-12-09 21:31:43 · 323 阅读 · 0 评论 -
js中不是所有对象都继承Object,也有特例
<!DOCTYPE html><html><body> <script> /** * 大部分对象都继承于Object对象。也有特例 */ var obj = Object.create(null) console.log(obj) </s...原创 2018-12-10 21:08:47 · 991 阅读 · 0 评论 -
浏览器之间的兼容问题,要求兼容到ie9+ ie浏览器滑动时候页面抖动解决方案
一般的官网项目选择jQuery会比vue好一些。jQuery是多页应用,vue是单页应用对搜索引擎的支持不好。但是官网一般的要求是ie9+,国产浏览器,谷歌和火狐更不用说了。这样就出现了浏览器的兼容问题。主要有两个方面,1: 国产浏览器,2:ie浏览器。解决办法 1:对国产浏览器的兼容问题比较容易,因为一般国产浏览器都是同时具有ie内核和谷歌内核的。可以在head中添加一下几行,强制国...原创 2018-12-17 19:16:36 · 1656 阅读 · 0 评论 -
h5手机端在输入框失去焦点后页面没有滑动到原来位置。
在手机端经常会写输入框提交信息,有的输入框位置比较靠底部,所以点击输入框的时候浏览器会自动把页面网上滑动,但是输入完成后,也就是这个输入框失去焦点的时候页面并没有滑下来。解决办法 1:可以用浏览器提供的这个方法来实现scrollIntoView这个方法可以绑定给任意元素,让他们滑动,具体使用方法查看旭哥的这篇文章吧,就算我费劲写一顿也不如旭哥写的更有深度。CSS scroll-behavi...原创 2018-12-17 19:25:21 · 3086 阅读 · 0 评论 -
h5中的select下拉框在ios中样式兼容问题解决方案。
h5中的下拉框在ios中是长这样的。这样式显然不能满足我们的需要,解决办法。1:设置css : -webkit-appearance: none; 去掉默认的样式。2:右边的小三角使用一个图片定位在那里。...原创 2018-12-17 19:31:06 · 7558 阅读 · 0 评论 -
vue中元素高度auto的收起展开动画
<!-- **** 说明:**** 使用css3的transition动画来做**** 但是这个属性只能用于固定高度的元素,所有在进行动画之前就要手动的给这个元素设置一个高度值,这样就能正常使用动画了********--><template> <div> <button @click="fun_animate"...原创 2019-04-10 17:22:42 · 6921 阅读 · 1 评论 -
JS面向对象一:js中的call()和apply()
原文地址:http://www.cnblogs.com/treasurelife/archive/2008/03/05/1092251.html关于JavaScript中apply与call的用法意义及区别(转)JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别。先来看看JS手册中对call的解释:call 方法调转载 2016-08-02 16:35:23 · 672 阅读 · 0 评论 -
JS中表达式的理解
转载出处:作者:郑航链接:http://www.zhihu.com/question/39420977/answer/81250170来源:知乎著作权归作者所有,转载请联系作者获得授权。表达式:是由运算元和运算符(可选)构成,并产生运算结果的语法结构。以下在ES5中被称为基本表达式(Primary Expression)this、null、argum转载 2016-08-04 14:45:04 · 4695 阅读 · 0 评论 -
原生JS实现贪吃蛇项目,附源码下载!
运行于谷歌浏览器。主要是利用了函数的封装思想,把每一个小功能分别封装在一个函数中,大大提高了代码的可扩展性!!提高了代码的可维护性!!!提高了代码的可阅读性!!!项目要求:1:有边界,碰到边界就game over。2:猎物没3秒增加一个,而且位置随机产生。3:吃一个猎物自身就增加一个元素。4:按上下左右控制移动方向,按空格决定暂停和前进。实现思路:主要是一开始就把实现的功能封装在了一个先函数中原创 2016-05-06 09:52:55 · 3566 阅读 · 0 评论 -
递归求解 猴子吃桃
猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办法,吃掉剩下桃子的一半另加一只,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少只?var num = 10; // num的值就是天数 改变num的值就可以算出对应天数的数目。fun原创 2016-04-29 20:59:00 · 3276 阅读 · 0 评论 -
动态生成 指定列数、行数的表格。并在每行最后一列添加一个删除按钮。点击删除按钮、删除本行!
动态生成 指定列数、行数的表格。并在每行最后一列添加一个删除按钮。点击删除按钮、删除本行!思路:先一点一点添加功能,先写添加表格,在写删除表格行数:列数:var row = document.getElementById("textRowId");var col = document.getElementByI原创 2016-04-29 20:51:55 · 4979 阅读 · 0 评论 -
输入框和div拖动
要求:页面有输入框、有一个文本,一个按钮;在输入框中输入文字后,点击按钮在div中追加显示输入框中的文字,并清空输入框。(留言板)。div能够拖动。注意:事件和哪个节点绑定。以及添加事件和移除事件的对象。var text = document.getElementById("textId");var btn = doc原创 2016-04-29 20:44:11 · 703 阅读 · 0 评论 -
在文本框中输入一个大于零的数字
在文本框中输入一个大于零的数字(例如 100),失去焦点后,计算从0到该数字的奇数和,并在页面弹出!思路:判断输入的是不是数字。数字是不是大于0;var text = document.getElementById("textId");text.onblur = function (){var sum = 0;var textCo原创 2016-04-29 20:41:39 · 1878 阅读 · 0 评论 -
JS实现监听事件,添加删除显示控件
var divOn = document.getElementById("divOne"); var subArr = divOn.children; var creatDiv = document.getElementById("creat"); var deleDiv = document.getElementById(原创 2016-04-28 15:46:20 · 943 阅读 · 0 评论 -
JS实现跟随
var bod = document.body; var num = 20;// 控制显示的div的个数 var count = 0; var arr =[]; document.onmousemove = function(event){ if(count原创 2016-04-28 15:38:35 · 1503 阅读 · 0 评论 -
JS中Date的使用和字符处理
span{color: red;} setInterval("showTimeNow()",100); var dateBegin = new Date(); function showTimeNow(){原创 2016-04-28 15:35:59 · 397 阅读 · 0 评论 -
JS实现控件跟随鼠标移动
function mobile(){ var x = event.clientX; var y = event.clientY; //alert("fujichao"); document.getElementById("topid原创 2016-04-28 15:32:23 · 3386 阅读 · 0 评论 -
JS实现字符处理
var cont = 0 var name = document.getElementById("name"); function getName(){ var name = document.getElementById("name").value; if(name.lengt原创 2016-04-28 15:19:13 · 363 阅读 · 0 评论 -
用JS控制按钮的可用不可用
用JS代码控制按钮的可用不可用 fsdjfsdkjfkjskjflkjdskjfkjdsfsd var count = 5; var butt = document.getElementById原创 2016-04-28 15:10:30 · 919 阅读 · 0 评论 -
用JS实现字符处理
统计一共有多少个数字,字母,特殊字符。 限制最多输入100个字符 function sum(){ var str = document.getElementById("text").value; var lower =0;原创 2016-04-28 15:15:43 · 401 阅读 · 0 评论 -
用JS监听事件(函数封装)修改页面属性
思路:1:做好页面 2 监听属性 其中把点击事件和document绑定,这样只需要绑定一次就可以监听到所有的事件 把处理点击事件的代码封装起来。使他能够处理多种空间的多种属性的改变 为控件添加flag属性,使他标志点击后处理函数处理流程。原创 2016-04-28 14:21:29 · 755 阅读 · 0 评论 -
把小人移动到鼠标点击的位置
让人移动到鼠标点击的位置。而且移动的速度是变化的。一开始让img的图片是图片1,鼠标点击后就立马变化图片2,清除时钟,根据(event.clientY - imgPre.offsetTop)/10计算速度产生时刻变化的速度。判断小人是否已经走到鼠标点击的位置(需要有X和Y的坐标都到达才行。)清除时钟。var imgPre = document.g原创 2016-05-07 16:31:26 · 710 阅读 · 0 评论 -
cookie的使用方法,截取字符串
cookie的使用方法。document.cookie = "name="+textName.value;直接就把数据存储到cookie中,如果继续存储数据的话就会当成字符串往后挨着存储。也就是说cookie就是一长串的字符串,所有的键值对多按照先后顺序存储在里面。取出来的时候就把这个字符串按照字符截取,把相应的值取出来。原创 2016-05-09 16:56:01 · 4073 阅读 · 0 评论 -
多个值存储到一个cookie中
首先存储在一块的数值应该是相关联的。就是把多个值用一个特殊字符连接起来,(特殊字符就是为了截取字符),然后用一个键来存储连接的字符串。用document.cookie直接获取cookie的内容 var textName = document.getElementById("textId"); var pass = docum原创 2016-05-09 18:00:20 · 9890 阅读 · 0 评论 -
JS闭包三:闭包的作用
转载出处:http://www.cnblogs.com/syf/archive/2012/10/04/2711653.htmlJAVASCRIPT----闭包的作用谈(转)note1|note2Javascript 闭包翻译:为之漫笔链接:http://www.cn-cuckoo.com/2007/08/01/understand-javascript-转载 2016-08-03 15:32:19 · 1217 阅读 · 0 评论 -
vue:不同环境配置不同打包命令
https://blog.csdn.net/zfangls/article/details/79990796通过vue-cli中的npm run build 打包,这个只能打包到一个环境,在实际工作中可能有生产环境,预发布环境甚至更多,每个环境的接口地址都不同,每次都需要手动修改接口地址,非常繁琐。那我们怎么才能做到执行不同的命令打不同的包呢?下面是我在实际工作中的一个解决方案:1.npm...转载 2019-04-12 10:10:22 · 1019 阅读 · 0 评论