
javascript
勇敢的豆沙包
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
js获取浏览器信息--名称、版本、操作系统
在网上搜索了一些关于获取浏览器信息的文章,总结如下: var browserInfor = {}; browserInfor.getBrowserInfo = function(){ var agent = navigator.userAgent.toLowerCase() ; var sUserAgent = navigator.u原创 2015-06-29 17:16:55 · 18135 阅读 · 3 评论 -
js中的 caller与callee用法小实例
caller函数fun的calle返回调用fun的函数对象,即fun的执行环境,如果fun的执行环境为window则返回nullfunction fun(){ console.log(fun.caller)//这里必须写在fun里面,因为caller只有函数执行过程中才有效}fun();//结果为:null下面包裹一层function a(){ fun(); funct原创 2016-09-18 15:44:21 · 10724 阅读 · 0 评论 -
js 中call和apply的理解-切换上下文环境
首先call和apply方法实现的事情是相同的,只是传入参数格式有所不同,所以在实际应用中使用哪个都可以,主要是根据业务的不同看哪种传参形式更方便call方法接收多个参数,第一个为函数作用于,后面参数为逐个列举的参数值function sum(num1,num2){ return num1+num2;}function callSum(num1,num2){ return sum原创 2016-09-18 16:42:08 · 1288 阅读 · 0 评论 -
js sort方法根据数组中对象的某一个属性值进行排序
var arr = [ {name:'zopp',age:0}, {name:'gpp',age:18}, {name:'yjj',age:8}];function compare(property){ return function(a,b){ var value1 = a[property]; var value2 = b[pro原创 2016-09-18 14:55:47 · 28310 阅读 · 1 评论 -
js Object的属性 Configurable,Enumerable,Writable,Value,Getter,Setter
对象的数据属性Configurable,Enumerable,Writable,Valuevar person = {}Object.defineProperty(person,'name',{ configurable:false,//能否使用delete、能否需改属性特性、或能否修改访问器属性、,false为不可重新定义,默认值为true enumerable:false,//原创 2016-09-19 12:36:57 · 19083 阅读 · 3 评论 -
js 创建对象的七种模式
一、工厂模式function createPerson(name,age){ var o = new Object(); o.name = name; o.age = age; o.sayName = function(){ alert(this.name) } return o;}var person1 = createPerso原创 2016-09-19 14:38:03 · 366 阅读 · 0 评论 -
js resize、scroll函数节流与函数防抖
resize和scroll方法会触发时频繁调用,致使页面产生性能问题,所以我们使用函数节流和函数防抖来解决函数防抖//scroll方法中的do somthing至少间隔500毫秒执行一次window.addEventListener('scroll',function(){ var timer;//使用闭包,缓存变量 return function(){ if(ti原创 2016-09-19 21:56:12 · 6337 阅读 · 1 评论 -
js 中的五种继承方法
正式发布的ES6中已经封装实现了其他OO语言中的继承形式,Class Extends,这里主要记录js的原型继承和借用构造函数继承一、原型链继承function Super(){ this.name="小明";}Super.prototype.sayName = function(){ alert(this.name)};function Sub(){}Sub.prototy原创 2016-09-20 11:20:17 · 7840 阅读 · 0 评论 -
详解javascript立即执行函数表达式(IIFE)
这是一篇译文,原文:Immediately-Invoked Function Expression (IIFE) 原文是一篇很经典的讲解IIFE的文章,很适合收藏。本文虽然是译文,但是直译的很少,而且添加了不少自己的理解。ps:下文中提到的“立即执行函数”其实就是“立即执行函数表达式”我们要说的到底是什么?在javascript中,每一个函数在被调用的时候都会创建一个执行上下文,在该函数内部定义的转载 2016-09-20 16:51:14 · 796 阅读 · 0 评论 -
javascript数组去重的四种方法
一:循环比较Array.prototype.unique1 = function() { var res = [this[0]]; for (var i = 1; i < this.length; i++) { var repeat = false; for (var j = 0; j < res.length; j++) {原创 2016-05-19 18:02:31 · 485 阅读 · 0 评论 -
JavaScript事件处理指南手册
事件流事件流描述的是从页面中接收事件的顺序,IE和Netscape提出来差不多完全相反的事件流的概念,IE事件流是事件冒泡流,Netscape事件流是事件捕获流。事件冒泡IE的事件流叫做事件冒泡,即事件开始时由最具体的元素(文档中嵌套最深的那个节点)接收,然后逐级向上(一直到文档);如下代码:<div id = "div"> <span id="span"> <a id="a转载 2016-05-18 18:11:16 · 433 阅读 · 0 评论 -
javascript/js 原生动态引入外部css文件及动态插入css代码片段
动态创建css样式有两种方式: 1.引入外部css文件 2.插入css代码片段 动态插入css外部文件的方法:function loadStyle(url){var link = document.createElement('link'); link.type = 'text/css'; link.rel = 'stylesheet'; link.h原创 2015-11-16 14:24:52 · 10531 阅读 · 0 评论 -
javascript/js 原生动态插入外部js文件及动态插入js代码片段,兼容ie
动态创建js脚本有两种方式: 1.插入外部js文件 2.插入js代码片段 动态插入js外部文件的方法:function loadScript(url){ var script = document.createElement('script'); script.type = 'text/javascript';原创 2015-11-16 11:46:57 · 6046 阅读 · 0 评论 -
js 数组取出最大值最小值的2种方法
1.直接遍历数组var arr = [1,12,4,124,45,8,99998,456];var max = arr[0];for(var i=1;i<arr.length;i++){ if(max<arr[i]) max=arr[i];}2.借用Math的方法var arr = [1,12,4,124,45,8,99998,456];var max = Math.max.apply原创 2015-12-10 10:58:41 · 845 阅读 · 0 评论 -
js 升幂降幂排序数组
1.升幂排序var arr = [1,12,4,124,45,8,99998,456];function compare(value1,value2){ if(value1>value2){ return 1; }else if(value1<value2){ return -1; }else{ return 0; }原创 2015-12-10 11:01:17 · 2087 阅读 · 0 评论 -
js原生创建封装ajax的方法,附XMLHttpRequest状态码
//创建var gc = gc || {};gc.ajax = function(options){//options = {url:'',method:'',data:'',callback:'',async:''} //默认参数 options.url = options.url || '', options.method = options.method || 'g原创 2015-12-04 15:52:12 · 3487 阅读 · 0 评论 -
jQuery如何返回一个类数组对象,js让一个对象的行为像一个数组一样
jQuery在使用$或者jQuery这个关键字的方法时,会在其框架内部动态的创建一个构造函数,下面这个函数:.......jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context, rootjQuery ); }....... 然后控制台输出jQuery的对象原创 2015-12-08 10:36:25 · 1123 阅读 · 0 评论 -
JavaScript正则表达式
RegExp 三大方法本文的RegExp采用直接量语法表示:/pattern/attributes。attributes有三个选择,i、m和g,m(多行匹配)不常用直接省略,所以一个pattern(匹配模式)可以表示如下:var pattern = /hello/ig;i(ignore)表示不区分大小写(地搜索匹配),比较简单,以下例子中不加述说;g(global)表示全局(搜索匹配),即找到一个后转载 2015-12-09 13:10:31 · 442 阅读 · 0 评论 -
js 对象的深复制和浅复制
浅复制:只赋值一层对象,并不递归赋值对象内嵌套的对象 深复制:递归赋值对象中的所有值和对象原创 2017-05-26 09:57:00 · 440 阅读 · 0 评论