随笔分类 -  JavaScript

摘要:这个应该算作失真,或者也不算。情况就是用了toFixed后再进行相关计算,得不到预期的结果 具体看例子 比如想动态计算百分比,保留一位小数如94.4%这样子 恰巧碰到这个,然而percent并不是预期的结果。于是,测试各段数据 好生奇怪... 乘以10正常,当乘以100时,好像失真了 不明觉厉 最后 阅读全文
posted @ 2016-10-13 14:49 -渔人码头- 阅读(675) 评论(0) 推荐(0) 编辑
摘要:题记 由于js不像java那样是完全面向对象的语言,js是基于对象的,它没有类的概念。所以,要想实现继承,一般都是基于原型链的方式; 一、继承初探 大多数JavaScript的实现用 __proto__ 属性来表示一个对象的原型链。 我们可以简单的把prototype看做是一个模版,新创建的自定义对 阅读全文
posted @ 2015-08-29 14:32 -渔人码头- 阅读(1424) 评论(0) 推荐(2) 编辑
摘要:JavaScript 有一套完全不同于其它语言的对 this 的处理机制。 在五种不同的情况下 ,this 指向的各不相同。 有句话说得很在理 -- 谁调用它,this就指向谁 一、全局范围内 在全局范围内使用this ,它将指向全局对象(浏览器中为 window) var name = 'name 阅读全文
posted @ 2015-08-28 14:50 -渔人码头- 阅读(1612) 评论(1) 推荐(1) 编辑
摘要:js的call apply bind 方法都很常见,目的都是为了改变某个方法的执行环境(context) call call([thisObj[,arg1[, arg2[, [,.argN]]]]]) thisObj可选项。将被用作当前对象的对象。arg1, arg2, argN ..可选项。将被传 阅读全文
posted @ 2015-08-28 02:32 -渔人码头- 阅读(1056) 评论(0) 推荐(0) 编辑
摘要:被问到property 和 attribute 的区别,想来也是要好好看一下。一、基本概念区别其实Attribute和Property这两个单词,翻译出来都是“属性”,《js高级程序设计》书中翻译为“特性”和“属性”,以示区别。从而我们也可以顾名思义特性vs属性(当然平时也可以简单的说两者都是属性)... 阅读全文
posted @ 2015-08-28 00:16 -渔人码头- 阅读(4999) 评论(0) 推荐(1) 编辑
摘要:js数组去重有经典的 几种方法 但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现。 因为: 1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致所有元素都相等,这时判断方法不再有意义。一般最后数组就只剩一个 2.如果是直接比较法,则因为对象在内 阅读全文
posted @ 2015-07-05 21:31 -渔人码头- 阅读(10985) 评论(0) 推荐(0) 编辑
摘要:主要用到 str.charCodeAt()和 String.fromCharCode()方法 --》使用 charCodeAt() 来获得字符串中某个具体字符的 Unicode 编码。 --》fromCharCode() 可接受一个(或多个)指定的 Unicode 值,然后返回对应的字符串。 //生 阅读全文
posted @ 2015-07-03 00:15 -渔人码头- 阅读(7149) 评论(1) 推荐(1) 编辑
摘要:习惯了bind,用惯了live,就不习惯delegate了呀有木有... 支持为动态生成的标签元素绑定事件也许就live和delegate了吧,不过新版本已经不支持live了,只有delegate delegate真的比较特殊呀,不同于其他事件绑定的风格。 就因为习惯了之前的bind风格..栽了跟头 阅读全文
posted @ 2015-05-13 10:47 -渔人码头- 阅读(527) 评论(0) 推荐(0) 编辑
摘要:js 模拟手机页面文件的下拉刷新初探 老总说需要这个功能,好吧那就看看相关的东西呗 最后弄出了一个简单的下拉刷新页面的形式,还不算太复杂 查看 demo 要在仿真器下才能看到效果,比如chrome的里边(或者用手机浏览器查看,但测试发现有些浏览器有问题,目前手机猎豹是没问题的) 主要就是: 下拉-- 阅读全文
posted @ 2015-05-12 23:53 -渔人码头- 阅读(3812) 评论(4) 推荐(3) 编辑
摘要:1 function replaceStr(str){ // 正则法 2 str = str.toLowerCase(); 3 var reg = /\b(\w)|\s(\w)/g; // \b判断边界\s判断空格 4 return str.replace(reg,function(m){ 5 re 阅读全文
posted @ 2015-04-09 19:40 -渔人码头- 阅读(1195) 评论(0) 推荐(0) 编辑
摘要:1 Array.prototype.unique1 = function () { 2 var n = []; //一个新的临时数组 3 for (var i = 0; i < this.length; i++) //遍历当前数组 4 { 5 //如果当前数组的第i已经保存进了临时数组,那么跳过, 阅读全文
posted @ 2015-04-09 19:20 -渔人码头- 阅读(1112) 评论(1) 推荐(0) 编辑
摘要:一般来说,可以直接封装成这种形式:var addEvent = function(element,type,handler){ if(element.addEventListener){ //DOM2级 element.addEventList... 阅读全文
posted @ 2015-04-09 19:16 -渔人码头- 阅读(1610) 评论(0) 推荐(0) 编辑
摘要:1 var Event = { 2 //注册事件 3 addEvent: function(element,type,handler){ 4 if(element.addEventListener){ //DOM2级 5 ... 阅读全文
posted @ 2015-04-09 19:01 -渔人码头- 阅读(468) 评论(0) 推荐(0) 编辑
摘要:早就听说有什么刷票脚本,微博投票等等相关的投票都有某些人去刷票。试一下吧,兴许自己也会刷票呢?捣鼓了几个小时,终于有所眉目。(1)投票系统要刷票,就得先有个投票界面。当然,可以直接去各个投票网站就行,不过这里还是自己弄个投票页面,方便自己。页面大致如下 或者 查看演示照理,界面很简洁,但也基本有了投... 阅读全文
posted @ 2015-04-05 16:16 -渔人码头- 阅读(12988) 评论(8) 推荐(1) 编辑
摘要:(1)基本的数组方法1.join()Array.join()方法将数组中所有元素都转化为字符串并连接在一起,返回最后生成的字符串。可以自己指定分隔的符号,如果不指定,默认使用逗号var arr = [1,2,3];console.log(arr.join());//"1,2,3"console.lo... 阅读全文
posted @ 2015-04-04 22:22 -渔人码头- 阅读(1284) 评论(3) 推荐(2) 编辑
摘要:1.删除属性delete运算符可以删除对象的属性 delete person.age //即person不再有属性age delete person['age'] //或者这样delete只是断开属性和宿主对象的联系,而不会去操作属性中的属性 看到delete a.p之后b.x仍然为1var a =... 阅读全文
posted @ 2015-04-04 18:28 -渔人码头- 阅读(797) 评论(0) 推荐(0) 编辑
摘要:对象的简单创建 1.通过对象直接量创建 比如 var obj = {}; 2.通过new 创建 比如 var obj = new Object(); // 相当于var obj = {}; var arr = new Array(); 3.使用 Object.create() 这个方法有两个参数,第 阅读全文
posted @ 2015-04-04 16:51 -渔人码头- 阅读(481) 评论(0) 推荐(0) 编辑
摘要:(1)作用域一个变量的作用域(scope)是程序源代码中定义的这个变量的区域。1. 在JS中使用的是词法作用域(lexical scope)不在任何函数内声明的变量(函数内省略var的也算全局)称作全局变量(global scope)在函数内声明的变量具有函数作用域(function scope),... 阅读全文
posted @ 2015-04-04 14:38 -渔人码头- 阅读(707) 评论(0) 推荐(0) 编辑
摘要:数据的转换所有对象继承了两个转换方法:第一个是toString(),它的作用是返回一个反映这个对象的字符串第二个是valueOf(),它的作用是返回它相应的原始值toString()toString()可以看做是把一个数据转换成了相应字符串的形式,安照这个转换规则中使用样例://返回相应的字符串 ... 阅读全文
posted @ 2015-04-04 13:25 -渔人码头- 阅读(19091) 评论(4) 推荐(5) 编辑
摘要:(1)值的比较--引用的比较首先,原始值的比较是值的比较:只有在它们值相等的时候它们才相等 比如简单的var a1 = 10;var a2 = 10;console.log(a1 === a2); //true其次,对象的比较并非值的比较:对象的比较均是引用的比较,当且仅当它们引用同一个基对象时,... 阅读全文
posted @ 2015-04-04 11:49 -渔人码头- 阅读(810) 评论(0) 推荐(0) 编辑