
Javascript
X_Jagger
xl.jagger@gmail.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
DOM简单梳理
定义:DOM:Document Object Model。 是针对HTML,XML文档的一个API(应用程序编程接口),它将任何HTML,XML文档描绘成一个由多层节点(node)构成的结构。 节点有多种类型,每种类型表示文档中不同的信息及标记,每个节点也拥有各自的特点、数据和方法,然后各节点之间也存在某种关系。 想象成一个树状图一、Node节点爸爸一共有12种节点,这些节点都继承自一个基类型原创 2017-03-17 15:55:14 · 490 阅读 · 0 评论 -
You Don't Know JS: Types & Grammar 总结
Typesnull undefined boolean number string object symbol(es6) 除了object,都叫基本类型用typeof来检测types:typeof NaN === 'number //truetypeof Infinity === 'number' //truetypeof undefned ==='undefined'typeof nul原创 2017-08-23 00:37:09 · 682 阅读 · 0 评论 -
String.slice() 和 String.substring(),String.substr()的区别
Syntax: string.slice(start, stop); Syntax: string.substring(start, stop); 返回一个字符串,左包含,右不包含相同:1.如果start == stop,return一个空字符串2.stop如果被省略,则直接扫至字符串尾3.如果start或stop大于了字符串长度,则会被替换成字符串长度不同: substin原创 2017-05-26 10:40:58 · 2463 阅读 · 0 评论 -
问题(已解决):push pop for循环中push变量,变量随之改变的问题
今天做剑指Offer的时候碰到了这个问题,push一个数组,这个数组也在pop元素,为什么push没有直接把结果放进去,而放的一个指向var x = [];var y = [1,2,3];for(var i = 0; i < 5; i++) { x.push(y); y.pop();}console.log(x);/*结果是这个[Array(0), Array(0), Ar原创 2017-06-10 00:54:05 · 2310 阅读 · 0 评论 -
一篇文章搞懂toString() 和 valueOf()
碰到过几次这两个的问题了,于是总结一下,通过几个例子来学学toString() 和 valueOf() 以及他们之间的区别 目录: 零、隐式转换 一、认识toString 二、认识valueOf() 三、toString() vs valueOf零、隐式转换Point to: 有趣的JS隐式转换一、认识toStringMDN:toString() 方法返回一个表示该对原创 2017-06-18 14:00:18 · 11374 阅读 · 4 评论 -
数组,对象遍历以及特殊的数组里的对象处理
做题碰到了数组里的对象的问题,特记下一、简单遍历//数组var x = [1,2];for(var i = 0; i < arr.length; i++ ){ //处理 console.log(arr[i]);//输出1 2}//对象var x = {a:1,b:2};for(var i in x){ //处理 console.log(i);//输出 a原创 2017-05-20 15:30:55 · 2748 阅读 · 0 评论 -
各种width,offsetWidth, getBoundingClientRect(), clientWidth,scrollWidth区别
各种width,offsetWidth, getBoundingClientRect(), clientWidth,scrollWidth区别 搬运自https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model/Determining_the_dimensions_of_elementsHow much room does转载 2017-05-31 23:34:04 · 2318 阅读 · 0 评论 -
setTimeout 循环闭包的经典面试题 解法与探究
题:修改下面的代码,让循环输出的结果依次为1, 2, 3, 4, 5 for (var i=1; i<=5; i++) { setTimeout( function timer() { console.log(i); }, i*1000 ); }一、利用闭包:1.匿名函数for (var i=1; i<=5; i++) { (原创 2017-03-21 23:02:00 · 778 阅读 · 0 评论 -
JS类型判断全总结
为了不死在笔试,为秋招作的准备 分为两个部分,一部分讲方法,一部分判断实例 1.Array.prototype 是数组,Object.prototype是对象,Function.prototype是函数设要判断的变量为variable,要判断的类型X 一、方法: - 1.typeof variable === X - 2.variable instanceof X - 3.va原创 2017-05-28 16:00:21 · 464 阅读 · 0 评论 -
apply,bind,call应用小总结
三者的作用都是改变函数执行时的上下文,也就是改变this指向 fun.apply(thisArg, [argsArray]) function.call(thisArg, arg1, arg2, …) fun.bind(thisArg[, arg1[, arg2[, …]]])call与apply的区别在于,传递参数的方式 bind与他们的区别是,bind是返回这个函数的copy,而call原创 2017-05-28 14:26:10 · 434 阅读 · 0 评论 -
JS 二进制计算,如何得到一个负数的二进制表示
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示 收获: 1.由负数的补码求他的绝对值补码:负二进制数的绝对值,只要各位(包括符号位)取反,再加1,就得到其绝对值。 2.负数正码取反(不包括符号位)+1即得到补码表示 3.JS中求二进制,(number).toString(2),负数和正数表示除了符号外相同。如(-123).toString(2) ==原创 2017-05-26 12:55:47 · 7462 阅读 · 0 评论 -
《Javascript高级程序设计》第七章-函数表达式总结
函数表达式1.函数表达式和函数声明函数表达式:x();//wrongvar x = function (arg0,arg1,arg2){//没有命名的函数称作匿名函数//函数体};函数声明:会在执行代码读取之前先读取函数声明,因此可以把声明放在执行代码之后。x();//rightfunction x (arg0,arg1,arg2){//函数体};2.递归function factor原创 2017-03-15 09:28:15 · 584 阅读 · 0 评论 -
函数作为另一个函数的结果返回
function compare(x){ return function(obj1,obj2){//此处的Obj1,obj2是从data里的元素选来比较吗? var value1=obj1[x]; var value2=obj2[x]; if(value1<value2){ return -1; }else if(value1>value2){原创 2017-03-12 11:43:45 · 640 阅读 · 0 评论 -
JS变量复制和参数传递
5种基本数据类型,按值访问 引用类型:object、Array、function、date一、变量复制: 1.复制基本类型值时,会创建新值并复制到新变量分配的位置。var num1=5;var num2=num1;num2=4;alert(num1);// 输出5两个变量相互操作没有任何影响。 2.复制引用类型时,复制的值是一个指针,指向同一个对象。var obj1=new Object原创 2017-03-08 17:02:22 · 616 阅读 · 0 评论 -
字符串前后判断踩坑,理解越直白的越不会出错
判断一个字符串是否以指定的字符串开始 (未完)String.prototype.startWith = function (startString) { return typeof startString === 'string' && new RegExp('^' + startString).test(this); // if(startString && this.length原创 2017-12-21 10:53:58 · 379 阅读 · 0 评论