js中级小知识2】的更多相关文章

首先我们复习之前的小知识,本期博客与之前有关 js数据类型 基本数据类型:string    undefined         null         boolean          number 引用数据类型:     Object     array       function 二者的区别 基本数据类型就是简单的操作值,引用数据类型,把引用地址赋值给变量 堆内存 就是存放代码块的,存放形式有两种,一种是对象一键值对的形式存放 另一种就是函数 以字符串的形式存放 案例 引用数据类型的赋…
元素的属性 div.attributes是所有标签属性构成的数据集合 div.classList是所有class名构成的数组集合 在classList的原型链上可以看到add()和remove() 1.client系列 clientWidth/clientHeight是我们设置的宽和高架上内边距(没有边框) clientLeft/clientTop就是我们设置的边框值 2.Offset系列 offsetWidth/offsetHeight是我们设置的宽和高加上内边距加上边框 offsetTop/…
1.针对表单 form   input     select      textarea type="radio/checkbox/passdord/button/submit/reset/" 表单事件 onchange 当表单内容被修改时触发的事件 onfocus 获取焦点事件 onblur 失去焦点 表单里的内容用.value那div中内容用innerHTML 补充条件语句 1.    if    else 2. switch 2.定时器 js的同步和异步 同步:代码从上到下执行…
1.面向对象 js一开始就是写网页特效,面向过程的,作者发现这样写不好,代码重复利用率太高,计算机内存消耗太大,网页性能很差.所以作者就收到java和c的影响,往面向对象靠齐.js天生有一个Object,但他没有面向对象的特征(封装,继承,多态).最后研究出了构造函数. 构造函数最终目的是生成对象. 我们把封装的那个函数叫 类 类里面的属性是私有的. 类原型上的属性是公有的,可继承的. 1.类身上天生自带一个prototype的属性,属性是对象 2.prototype对象天生有一个constru…
1.作用域链 作用域:浏览器给js的一个生存环境(栈内存). 作用域链:js中的关键字var和function都可以提前声明和定义,提前声明和定义的放在我们的内存地址(堆内存)中.然后js从上到下逐行执行,遇到变量就去内存地址查找是否有这个变量.有就使用,没有就继续向父级作用域查找直到window下结束,这种查找机制叫作用域链. js代码中存在着大量的变量和函数,我们在使用的时候一定要直到它们到底归属谁. 2.this 1.this是js的一个关键字,指定一个对像然后去替代他. 函数内的this…
函数: 函数在调用的时候,会形成一个私有作用域,内部的变量不会被外面访问,这种保护机制叫闭包.这就意味着函数调用完毕,这个函数形成的栈内存会被销毁. 有些时候我们不希望他被销毁. 函数归属谁跟它在哪调用没有关系,跟在哪定义有关. Fn()调用完毕后得到的是一个匿名函数,但是这个函数在fn这个作用域下定义的,所以这个匿名函数内部的变量在fn作用域下查找.这种写法可以使函数内部的变量不被销毁. 基类Object的子类有 Function    Array     Number Boolean   …
1.函数都有返回值...... 而方法的本质也是函数,所有也有返回值. Document.getElementById()返回的是获取的标签 getElementByClassName()和getElementsByTagName()返回的是一个数组 Document.getElementsByClassName("name")[2].innerHTML="haha" 2.改变标签的属性 元素.属性名属性单词           attribute 3.修改和添加属…
基本数据类型:Undefined, Null, Boolean, Number, String . 引用数据类型:Object . 个人觉得对Java等语言的程序员来说,最不能接受的就是下面这样的代码: var num = 2; console.log(num.toPrecision(2)); //这不就是 2.func() 吗.. 实际上,js会将2自动包装成Number类型,类似于Java的自动将int包装成Integer,所以 num 可以直接调用包装类型的方法. 问题来了:既然此处的nu…
filter()方法对数组进行过滤,生成新数组 var aqiNewData = aqiData.filter(function(data){ return data[1]>60; }); //对大于60的数据组成新数组. sort()方法对新数组进行从大到小排序. aqiNewData.sort(function(a,b){ return b[1] - a[1]; }); //若换成a[1] - b[1]则是从小到大排序. createDocumentFragment()创建虚拟(碎片)节点的…
1. javascript的typeof返回哪些数据类型: string, boolean, number, undefined, function, object 2. split() join() 的区别 前者是将字符串切割成数组的形式,后者是将数组转换成字符串 3. ajax请求时,如何解析json数据 使用JSON.parse 4. 事件委托是什么? 利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行! 5.  创建新节点createElement() //创建一个具体的元素…