javascrip高级程序学习笔记
then啥
这个作者很懒,什么都没留下…
展开
-
script标签的属性
共六个,language废弃,charset不常用。async:异步加载脚本,且不保证加载顺序(下载时不影响页面解析,但解析时会暂停页面渲染)defer:立即下载,延迟执行(遇到</html>标签时执行),有顺序type:默认type='text/javascript'src:指向外部文件地址,可以是外部域地址(如cdn文件地址),可以忽略文件扩展名(如此一来可以使用其...原创 2018-10-13 15:30:53 · 3656 阅读 · 0 评论 -
cookie与session;sessionStorage、globalStorage与localStorage
一. cookie与session 存在的原因:http是无状态的协议,客户端每次发送请求都会重新验证身份 为了在一次会话中便于验证客户端身份,服务端采取了cookie机制 实现方法是服务器返回Set-Cookie的HTTP头信息并由客户端保存,之后客户端每次发送请求都会带上cookie作为自己的身份证明相同点:都可以用来跟踪会话,实现客户端的身份整明不同点:cookie存储...原创 2018-11-02 15:55:52 · 216 阅读 · 0 评论 -
关于原型陷阱的一个总结
function Person(name){ this.name=name}Person.prototype.sayName=function(){ console.log(this.name);}var person1=new Person('tom');person1.sayName(); //tomPerson.prototype.constructor==...原创 2018-10-27 22:06:47 · 1168 阅读 · 0 评论 -
基本包装类型
每当读取一个基本类型值时,都会自动为其临时创建一个基本类型包装对象,从而可以对基本类型调用一些方法。(隐式装箱)Number、String、Boolean原创 2018-10-24 09:58:22 · 100 阅读 · 0 评论 -
toString与toLocaleString的区别
都是用于将对象转换为字符串形式,但当对象是Number和Date类型时有区别:var a=1234;var d=new Date();a.toString(); //'1234'a.toLocaleString(); //'1,234'd.toString(); //"Sun Oct 21 2018 10:58:10 GMT+0800 (中国标准时间)"d...原创 2018-10-21 11:05:09 · 176 阅读 · 0 评论 -
Function类型
每个函数都是Function类型的实例,函数是对象的一种定义函数的方式:函数声明function foo(){···}、 函数表达式var foo=function(){···}、 构造函数var foo=new Function('a', 'b', 'return a+b') //会导致两次解析代码,第一次解析常规,第二次解析内部传入参数,性能差无重载:函数名是...原创 2018-10-23 11:40:51 · 434 阅读 · 0 评论 -
为什么通用的对象方法要加在原型中
在构造函数中加属性,原型中加方法。我学面向对象时一直记着的一句话,但为什么方法要加在原型呢,今天再次看望远镜书时终于明白了。将属性和方法都写在构造函数中没问题,但问题在于每次进行实例化的过程中,重复创建功能不变的方法。由于方法本质上是函数,其实也就是在堆内存中又新建了一个对象空间存储函数,造成了不必要的资源浪费。 解决办法除了使用原型外,也可以令其指向一个全局的函数,从而避免重复创...原创 2018-10-25 16:42:09 · 1073 阅读 · 1 评论 -
继承
js只支持实现继承,由于函数没有签名无法实现接口继承;new的作用是什么:var obj=new Object();创建obj={}; 将__protoo__指向构造函数的原型,即obj.__proto__=Object.prototype; 将this指向当前对象,即Object.call(obj); 1.原型链继承//父类型function Parent...原创 2018-10-28 12:53:30 · 85 阅读 · 0 评论 -
创建对象的方法
工厂模式(单纯的以函数模式进行对象创建,内部新声明一个Object,然后添加属性和方法,最后return这个Object) 构造函数模式(将属性与方法都放在构造函数中,但可能会造成方法的重复创建占用空间) 原型模式(构造函数只用作实例化工具,将属性和方法都放在原型对象中) 构造函数与原型混合模式(构造函数中加属性,原型中加方法) 动态原型模式(添加if判断是否已有某方法,不可重写原型对象,...原创 2018-10-28 09:39:06 · 88 阅读 · 0 评论 -
Object实例的属性与方法
function Person(name){ this.name=name;}var tom=new Person('Tom');Person.prototype.hair=true;tom.name; //Tomtom.hasOwnProperty('hair'); //falsetom.hasOwnProperty('name'); //truePe...原创 2018-10-20 10:58:29 · 532 阅读 · 0 评论 -
parseInt与parseFloat
parseInt用于解析整数,可附带第二参数作为基数指定进制;如,parseInt('10',2); //2parseFloat可解析一个小数点,只能解析10进制,如parseFloat('2.2.2'); //2.2...原创 2018-10-20 10:23:54 · 1791 阅读 · 0 评论 -
数组方法总结
修改原数组:sort:返回排序后数组reverse:返回颠倒后的数组forEach:返回undefined,为每个元素执行cb(val, index, arr)fill:返回新数组,用一个固定值填充数组(val, start, end),不含endsplice:返回被删元素组成的数组,不删则返回空,万能数组修改(start,delCount,newEl···) pop:...原创 2018-10-22 12:00:43 · 166 阅读 · 1 评论 -
null与undefined
1.undefined由null派生而来,null==undefined //true2.通常无需为变量显式设置undefined值,仅声明或未声明默认都是undefined(无法对其进行真正操作); null默认是一个空对象指针,用typeof检测是object(底层判别方法与null的二进制显示方式有关),如果一个变量未来用于保存对象,在声明时应当显式设置为null以与unde...原创 2018-10-17 11:06:00 · 240 阅读 · 0 评论 -
Ajax、JSONP、CORS
背景知识: Http的8种请求类型:HEAD、GET、POST、OPTION、PUT、DELETE、TRACE、CONNECT一、常规Ajax <script> function loadXMLDoc(){ var xhr; if (window.XMLHttpRequest){ ...原创 2018-11-02 21:27:46 · 159 阅读 · 0 评论