前端三剑客(HTML、JavaScript、CSS)
月中行~
这个作者很懒,什么都没留下…
展开
-
几种获得宽高的方式
<div id="getdocumentStyle" style="height: 100px;"></div> #getdocumentStyle { width:200px } 1.dom.style.width/height dom.style.width/height 这种方式只能取到 dom 元素内联样式所设置的宽高,也就是说如果该节点的样式是在 style 标签中或外联的 CSS 文件中设置的话,通过这种方法是获取不到 dom 的宽高的。 2.window.ge原创 2021-07-22 15:42:07 · 1109 阅读 · 0 评论 -
JS闭包浅谈
闭包 作用域应用的特殊场景有两种表现 函数作为参数被传递 函数作为返回值被返回 //函数作为返回值 function create() { const a = 100 return function () { console.log(a) } } const fn = create() const a = 200 fn() // 100 // 函数作为参数被传递 function print(fn) { const a = 200 fn() } c原创 2021-08-16 17:17:12 · 87 阅读 · 0 评论 -
JS的this指向问题
1.全局作用域 =>this -> window 2.普通函数中 =>this取决于谁调用,谁调用我,this就指向谁,跟如何定义无关 function fun(){ console.log(this.s); } var obj = { s:'1', f:fun } var s = '2'; obj.f(); //1 fun(); //2 3.事件绑定中的this 事件源.onclik = function(){ } //this -> 事件源原创 2021-08-16 11:03:28 · 85 阅读 · 0 评论 -
前端面试原型规则
原型规则 obj.__proto__是隐式原型 prototype是函数的显式原型 var obj = {}; obj.a = 100; var arr = []; arr.a = 100; function fn() {} fn.a = 100; console.log("obj.__proto__", obj.__proto__); console.log("arr.__proto__", arr.__proto__);原创 2021-08-11 21:50:11 · 82 阅读 · 0 评论 -
JS变量提升
1.变量提升 ES6之前我们一般使用var来声明变量,提升简单来说就是把我们所写的类似于var a = 123;这样的代码,声明提升到它所在作用域的顶端去执行,到我们代码所在的位置来赋值。 function test () { console.log(a); //undefined var a = 123; }; test();//undefined a = 1; var a; console.log(a); //1 2.函数提升 具名函数的声明有两种方式: 1. 函数声明原创 2021-08-16 16:22:28 · 88 阅读 · 0 评论 -
JS变量类型和计算一
变量类型 值类型 引用类型(对象,数组,函数三种) typeof运算符 “object”, “number”, “string”, “boolean”, “function”, “undefined”, “symbol”, 共7种 // Numbers typeof 37 === 'number'; typeof 3.14 === 'number'; typeof Math.LN2 === 'number'; typeof Infinity === 'number'; typeof Na原创 2021-08-04 23:33:50 · 74 阅读 · 0 评论 -
JS异步和单线程
图片来自Philip Roberts的演讲《Help, I’m stuck in an event-loop》 上文中说到的浏览器为异步任务单独开辟的线程可以统一理解为WebAPIs,上文中说到的任务队列就是callback queue 我们所说的主线程就是有虚线组成的那一部分,堆(heap)和栈(stack)共同组成了js主线程,函数的执行就是通过进栈和出栈实现的,比如图中有一个foo()函数,主线程把它推入栈中,在执行函数体时,发现还需要执行上面的那几个函数,所以又把这几个函数推入栈中,等到函数执行完原创 2021-08-17 15:54:15 · 149 阅读 · 0 评论 -
HTML语义化
HTML语义化 什么是语义化 语义化,就是你写的HTML结构,是用相对应的有一定语义的英文字母(标签)表示的,标记的, 因为HTML本身就是标记语言 页面结构是否语义化 看HTML结构,在去掉CSS样式表之后,依然能很好的呈现内容的结构,代码结构,则是语义化之后的文档效果 为什么要语义化 为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构 用户体验 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重; 方便其他设备解析(如屏幕阅读原创 2021-07-18 11:03:15 · 73 阅读 · 0 评论 -
canvas绘图
1.HTML5 标签用于绘制图像(通过脚本,通常是 JavaScript)。 2. 元素本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务。 3.getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。 var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="#FFF000"; ctx.fillRect(0,0,100,75);原创 2021-07-18 11:39:47 · 85 阅读 · 0 评论