
js
wiscourper_
这个作者很懒,什么都没留下…
展开
-
screen.height,screen.availHeight,window.innerHeight,clientHeight,scrollHeight,offsetHeight
一、screen1. screen.height 返回屏幕分辨率的高2. screen.width 返回屏幕分辨率的宽3. screen.availWidth 属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如任务栏。4. screen.availHeight 属性返回访问者屏幕的高度,以像素计,减去界面特性,比如任务栏。二、获得浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)的方法:1、对于IE9+、Chrome、Firefox、Opera 以及 Safari:•.原创 2021-07-14 11:26:11 · 1281 阅读 · 0 评论 -
es6 freeze
var obj = { name:'zhangsan', age:23, friends:['lisi','wangwu']}Object.freeze(obj);obj.name = 'zhangsan1';obj.friends[0] = 'zhaoliu';console.log(obj.name);//zhangsanconsole.log(obj.friends[0]);//zhaoliu//freeze是浅层次的冻结function myFreeze.原创 2021-06-22 10:02:23 · 716 阅读 · 0 评论 -
es6 const
1、var str = 123;console.log(window.str);//123,属于顶层对象windowconst str = 234;console.log(window.str);//报错,不属于顶层对象window2、if(true) { var str = 345;}console.log(str);//345if(true) { const str3 = 789;}console.log(str3);//报错,const申明变量..原创 2021-06-21 15:55:58 · 680 阅读 · 0 评论 -
js继承
1、简单原型链:类式继承2、借用构造函数:缺点=>父类的原型方法自然不会被子类继承3、组合继承(最常用):类式继承+构造函数4、寄生组合继承(最佳方式):寄生式继承+构造函数式继承5、原型式:跟类式继承一样 父类对象book中的值类型的属性被复制,引用类型的属性被共有6、寄生式:通过在一个函数内的过度对象实现继承并返回新对象的方式...原创 2021-06-01 11:45:33 · 660 阅读 · 0 评论 -
js this
指当前调用的对象:4种绑定规则:默认绑定、隐式绑定、显式绑定、new绑定,优先级从低到高var person = { name:'zhangsan', age:20, getName:function(){ console.log(this.name); }, getAge:function(){ function aa() { //局部函数 console.log(this+' '+this.age);原创 2021-05-26 14:02:35 · 658 阅读 · 0 评论 -
js解析
js解析:预编译期(预处理、预解析、预编译) 和 执行期当js引擎解析脚本时,它会在预编译期对所有申明的变量和函数进行处理,并且时先预申明变量,再预定义函数。 var buttons = [{name:'b1'},{name:'b2'},{name:'b3'}]; function bind() { for(var i=0; i<buttons.length; i++) { .原创 2021-05-20 19:15:32 · 754 阅读 · 0 评论 -
事件绑定
<input type='button' id='btn1' value='button1' onclick="func()"/><input type='button' id='btn2' value='button2' /><input type='button' id='btn3' value='button' />document.getElementById('btn2').onclick = function() {}document.g.原创 2021-05-20 14:11:14 · 648 阅读 · 0 评论 -
Dom树加载过程
1、构建dom树:html解析器过程中遇到没有defer和async属性的<script>时,会中断解析,加载<script>文件并立即执行到遇到有defer或async属性的<script>时,见《js async defer》2、构建css树:css解析器3、构建render树:dom树+css树4、布局layout与绘制paint计算对象之间的大小、距离,确定每个节点在屏幕上的确切坐标,映射浏览器屏幕绘制,使用UI后端层绘制每一个节点r.原创 2021-05-20 13:41:52 · 905 阅读 · 0 评论 -
script async defer
都是异步的defer文档解析时,遇到设置了defer的脚本,就会在后台进行下载,但是并不会阻止文档的渲染,当页面解析&渲染完毕后。会等到所有的defer脚本加载完毕并按照顺序执行(引入顺序),DOMContentLoaded事件调用之前。asyncasync脚本会在加载完毕后执行。async脚本的加载不计入DOMContentLoaded事件统计。...原创 2021-05-20 11:11:00 · 693 阅读 · 0 评论 -
js装箱 拆箱
拆箱时js会自动执行内部方法toPrimitive(input, type)1、判断input是否是原始类型的值,是,直接返回,否进行第二步2、input.valueof() 是否是原始类型的值,是,直接返回,否,进行第三步3、input.toString()...原创 2021-05-18 17:53:24 · 736 阅读 · 0 评论 -
js 常见类型转换
NaN,0,undefined,null,"" => false==和=====比较的值===比较的类型和值原创 2021-05-18 15:36:16 · 661 阅读 · 0 评论 -
js 深拷贝
//遍历function deepClone(oldObj, newObj) { var obj = newObj || {}; for(var i in oldObj) { if(typeof oldObj[i] === 'object' && Object.prototype.toString.call(oldObj[i]) != '[object Null]') { obj[i] = oldObj[i].constructo.原创 2021-05-18 15:24:13 · 78 阅读 · 0 评论 -
js typeof和instanceof
一、typeof 检测返回的是对应的数据类型console.log(typeof(123));//numberconsole.log(typeof(true));//booleanconsole.log(typeof('33'));//stringconsole.log(typeof(null));//objectconsole.log(typeof([]));//objectconsole.log(typeof({}));//objectconsole.log(typeof(new D原创 2021-05-18 14:15:33 · 663 阅读 · 0 评论 -
js中的堆内存和栈内存
转自:https://www.cnblogs.com/heioray/p/9487093.html浅析JS中的堆内存与栈内存最近跟着组里的大佬面试碰到这么一个问题,Q:说说var、let、const的区别A:balabalabalabla...Q:const定义的值能改么?A:你逗我?不能吧不知道各位看官怎么想?答案是部分能改,部分不能改。const定义的基本类型不能改变...转载 2019-03-13 22:02:58 · 8934 阅读 · 0 评论 -
js模块化编程之彻底弄懂CommonJS和AMD/CMD!
转:https://www.cnblogs.com/chenguangliang/p/5856701.html先回答我:为什么模块很重要?答:因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!于是下面三个模块规范出来了,这篇文章也出来了(拼出来的...转载 2019-03-25 14:07:56 · 123 阅读 · 0 评论 -
js || &&
var a = 0 || 9; //9var b = 1 || 9; //1var c = 0 && 10; //0var d = 1 && 10; //10console.log(a, b, c, d);逻辑或 || : var a = 表达式1 || 表达式2 表达式1 表达式2 a取值 1...原创 2019-03-25 15:00:21 · 512 阅读 · 0 评论 -
jquery prop 和 attr 区别
<!DOCTYPE html><html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-w...原创 2019-03-25 22:23:32 · 620 阅读 · 0 评论 -
js 原型
1. 什么是原型?我们创建的每一个函数都有一个prototype(原型)属性,这个属性是一个对象,它的用途是包含有特定类型的所有实例共享的属性和方法。2. 只要创建了一个新函数,就会为该函数创建一个prototype属性。在默认情况下,所有prototype属性都会自动获得一个constructor(构造函数)属性,这个属性包含一个指向prototype属性所在函数的指针...原创 2019-03-27 14:48:38 · 684 阅读 · 0 评论 -
jquery相关分析
1、 jQuery一加载进来,就执行匿名函数,进行jQuery的初始化工作,定义jQuery的功能,最后暴露出jQuery和$变量给用户使用。(function(window,undefined){window.jQuery=window.$=jQuery})(window);2、 jQuery功能扩展函数ExtendjQuery.extend=jQu...原创 2019-03-27 14:49:59 · 149 阅读 · 0 评论 -
js settimeout()
setTimeout(function () { console.log('three');}, 0); //setTimeout(fn, 0)在下一轮“事件循环”开始时执行Promise.resolve().then(function () { console.log('two');}); //Promise.resolve()在本轮“事件循环”结束时...原创 2019-03-27 14:57:54 · 586 阅读 · 0 评论 -
prototype (原型) 属性
转自:https://www.jianshu.com/p/4f87d28923ce这篇文章是基于 <<JavaScript 高级程序设计>>第六章面向对象的程序设计 6.2.3原型模式我们每创建一个函数, 都有一个 prototype (原型)属性, 这个属性是一个指针, 指向一个对象,这个对象的 用途: 包含可以由指定类型的所有实例共享的属性和方法所以 prot...转载 2019-03-27 15:08:59 · 1088 阅读 · 0 评论 -
jQuery jsonp跨域请求
转自:https://www.cnblogs.com/chiangchou/p/jsonp.html跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的。浏览器的同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互。如果协议,端口和主机对于两个页面是相同的,则两个页面具有相同的源,否则就是不同源的。如果要在js里发起跨域请求,则要进行一些特殊处理了。或者,...转载 2019-02-28 22:08:29 · 219 阅读 · 0 评论