JavaScript
手写Hello World工程师
https://github.com/Max-hearted
展开
-
重学前端 Part 1
一:年终总结今天是六月的最后一天,满打满算也算是毕业后工作满一年限。比起刚开始学编程学web前端开发,我也算是拥有两个企业级项目实战的老鸟了,但是现实是在这个技术圈子里,我还没有资本开始装杯。因为我的JavaScript基础还是很薄弱,只是短时间内熟练了一些代码业务,熟练了vuejs这个框架,熟练了问题应该怎么解决才是高效的最好的,甚至学会了怎么Google才是对代码尊重,毕竟谁也不想写出无法维护的代码。二:在大石植村的这些日子租房的时候,看了几个相似的房间,但是迫于身高问题,我选择了二楼.原创 2020-06-30 14:00:57 · 314 阅读 · 0 评论 -
疫情得到控制之后的广州
2020年三月,我回到了广州,这个还在一直增加疑似病例和确诊病例的城市,是我一直工作的城市。不一样的是,疫情的拐点已经过去,每天的新增病例和出院人数都在变化,情况再向好的方向发展。所以再次回到广州没有那么的恐慌,出门戴好口罩可能也是必备的一项工作,非常值得高兴的是公司还是不要求我们到公司上班,而是在广州的家远程办公,用着那时好时坏免费版team viewer。我搬了新家,去到遥远的番禺大石站。这里的房租确实便宜人也多,特别是晚上的时候,你都不知道窗外是谁家的声音,就算是周末也会有人早起,不隔音就是打扰你最大原创 2020-05-15 13:00:21 · 371 阅读 · 0 评论 -
JavaScript前端面试知识点
JavaScript中如何检测一个变量是字符串类型?typeof(obj) === "string" //trueobj.constructor === String //truetrim()的使用场景 var str = " hello word ";str = str.trim();console.log(str); //hello word,trim...转载 2018-09-18 12:26:49 · 197 阅读 · 0 评论 -
你不知道的JavaScript(上中下三册) 电子版高清PDF -- 百度云下载
链接:https://pan.baidu.com/s/1pfviFDVDg7EpF35HQWEc6Q 密码:vaft原创 2018-09-18 12:56:05 · 69703 阅读 · 175 评论 -
你不知道的JavaScript —— 基本类型
null类型只有一个值null,undefined类型也只有一个值undefined。所有的变量在赋值之前默认值都undefined,void运算符的返回值也是undefined。数字类型有几个特殊的值,包括NaN(指的是无效的数字、+Infinity、-Infinity、-0)。简单标量基本类型字符串和数字等通过值复制、传递,而复合值(对象等) 通过引用复制来赋值 / 传递。Java...原创 2018-09-20 10:40:43 · 175 阅读 · 0 评论 -
你不知道的JavaScript——toString、toNumber、toBoolean
数组的toString()方法默认把所有的单元字符串化了以后再用逗号,连接起来。JSON 字符串化 工具函数 JSON.stringify(..) 在将 JSON 对象序列化为字符串时也用到了 ToString。所有安全的 JSON 值(JSON-safe)都可以使用 JSON.stringify(..) 字符串化。安全的 JSON 值是指能够呈现为有效 JSON 格式的值。 为了...原创 2018-09-20 20:06:35 · 5482 阅读 · 0 评论 -
你不知道的JavaScript——严格相等和宽松相等
宽松相等(loose equals)== 和严格相等(strict equals)=== 都用来判断两个值是否“相 等”,但是它们之间有一个很重要的区别,特别是在判断条件上。 常见的误区是“== 检查值是否相等,=== 检查值和类型是否相等”。听起来蛮有道理,然而 还不够准确。 正确的解释是:“== 允许在相等比较中进行强制类型转换,而 === 不允许。”如果进行比较的两个值类型相同,...原创 2018-09-22 20:32:56 · 266 阅读 · 0 评论 -
你不知道的JavaScript——do表达式和eval()
ES7 规范有一项“do 表达式”(do expression)提案,但是具体的用例和语法还没有广泛使用,所以这里只作提及,类似下面这样: var a, b;a = do { if (true) {b = 4 + 38; } };a; // 42 上例中,do { .. } 表达式执行一个代码块(包含一个或多个语句),并且返回其中最后一 个语句的结果值,然后赋值给变...原创 2018-09-23 10:06:05 · 2064 阅读 · 0 评论 -
程序的性能问题
Web Workerweb worker是HTML5 的一个新增特性,能够支持程序进行多线程的运行都是浏览器的功能,和JavaScript本身并没有什么太大的关系,js当前并没有任何支持多线程的功能。但是在浏览器这样的环境里,很容易提供多个 JavaScript 引擎实例,各自运行在自己 的线程上,这样你可以在每个线程上运行不同的程序。程序中每一个这样的独立的多线程 部分被称为一个(Web...原创 2018-12-08 13:23:34 · 421 阅读 · 0 评论 -
Virtual DOM diff算法
首先浏览器加载一个HTML页面时会经过创建DOM 树、创建样式规则(style rules)、构建渲染树(render tree)、布局layout 和 绘制页面(painting)。传统的原生api或jQuery去操作DOM的时候,浏览器会从构建DOM树开始从头到尾执行一遍流程,所以频繁的操作DOM的代价是昂贵的。还会出现页面卡顿,影响用户的体验。虚拟DOM就是为了解决这个问题而被设计出...原创 2019-03-07 16:14:50 · 286 阅读 · 0 评论 -
正式成为一名前端修改BUG工程师Vue.js
七月二十号,我再次来到了广州求职,这一次势在必得。第一天的面试经历很糟糕,我不想用文字复述出来,因为那是什么玩意儿。然后接连也面试其他的几家公司,但是都没有消息,然后就到了25号,我来到了现在这家公司进行面试。八月一号,正式入职,开启程序员生涯。主要负责web项目的开发,技术栈Vue.js...原创 2019-09-24 10:34:29 · 756 阅读 · 2 评论 -
E4X
E4X(ECMAScript for XML)处理XML做了新的语法扩展,也定义了新的XML对象。E4X的类型:XML XML结构中的任何一个独立的部分XMLList XML对象的集合Namespace:命名空间前缀与命名空间URI之间的映射QName:有内部名称和命名空间URI组成的一个限定名E4X修改的新语法:使用(..)表示匹配所有后代元素,使用@ 字符表示应该返...原创 2018-09-18 10:23:00 · 434 阅读 · 0 评论 -
JavaScript高级程序设计 -- 错误处理
主流的浏览器IE、火狐、Safari和Chrome等,都具有某种向用户报告JavaScript错误的机制。默认情况下,浏览器都会隐藏这些错误,因为除了开发者没有人会关心这些错误信息。在Chrome中也会隐藏JavaScript错误、快捷打开JavaScript错误控制台的方式:打开一个网页,同时按下Ctrl + shift + J 会自动弹出控制台。 错误处理:错误处理在程序设...原创 2018-09-12 22:11:41 · 182 阅读 · 0 评论 -
JS初窥之call和apply用法
JavaScript中CALL 和 APPLY会是执行期的context改变,即this的指向会改变。call和apply作用是完全一样的,但是二者接受的参数列表是不一样的。 apply 的用法:Function.apply(obj, args); obj 是要改变this指向指向的那个对象,args 可以是数组或类数组。(类数组本身是一个对象,但是数组能用的方法属性它也具有,内部的属性可...原创 2018-06-16 22:19:31 · 122 阅读 · 0 评论 -
JS初窥之绑定事件
绑定事件的兼容性的封装方法: 注:绑定时间的处理函数如果是匿名函数则无法解除。 事件捕获:父元素事件先执行,然后逐层到子元素的事件。 事件冒泡:与事件捕获的顺序相反。 JavaScript的事件触发顺序:先捕获后冒泡。 事件的对象是系统自动传入的e参数 -- function (e)-- 兼容性 e || window . event;...原创 2018-06-17 10:40:10 · 101 阅读 · 0 评论 -
JS初识之数组去重
Array.prototype.unique = function (target) { var temp = {}, arr = [], len = this.length; for (var i = 0;i < len;i ++) { if (!temp[this[i]) { temp[this[i]] = 'value'; arr.push(...原创 2018-06-17 19:50:14 · 128 阅读 · 0 评论 -
JS初识之封装insertAfter方法
insertAfter方法: insertBefore方法: Element.insertBefore(newElement, referElement)原创 2018-06-17 20:36:58 · 339 阅读 · 0 评论 -
JS初识之纯函数
纯函数(pure function): 1.返回结果只依赖它的参数,传入的参数一样,返回的结果也是一样的。 2.执行时不改变作用域外的数据。 3.不产生副作用。 优点: 1.代码阅读性提高 2.提高了代码的复用性 3.IO简单,测试简单 4.可作缓存或记忆功能...原创 2018-06-17 20:47:22 · 596 阅读 · 0 评论 -
JS初识之常见的数组方法
Array.prototype.slice():返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。且原始数组不会被修改。arr.slice(); 选择的区间是[0, end];arr.slice():选择的区间是[begin, end];arr.slice(begin, end); 两个参数同时存在是[begin, end);Array.prototype.conca...转载 2018-06-17 21:18:31 · 136 阅读 · 0 评论 -
jQuery之表单验证
1、HTML布局2、页面美化3、JavaScript原创 2018-07-05 11:51:29 · 103 阅读 · 0 评论 -
你不知道的js第一章-with和eval
eval关键字可以接受一个字符串参数,利用这段传进来的字符串执行动态创建的代码。如果传入的参数不是字符串,那么JavaScript会返回这个参数。如果传入的参数为字符串,那么JavaScript会当做语句来执行,如果编译不通过会抛出异常。如果编译通过就开始执行这段js代码并返回最后一个表达式或语句的值。with声明实际是根据你传递进入的对象另外创建了一个新的此法作用域。with关键字可以改变词...原创 2018-08-30 21:40:51 · 191 阅读 · 0 评论 -
算法--二分查找(js实现)
二分查找(Binary Search):高效、简单易实现,只适用于传入的数组线性表都是有的排列存储的。而且元素关键字是有序排列。查找步数最多为㏒2NJavaScript实现:...原创 2018-09-02 19:12:07 · 1579 阅读 · 4 评论 -
你不知道的js--this的显示绑定
显示绑定:使用call()、apply()、bind()方法进行强制绑定。 1、硬绑定 2、API调用的上下文原创 2018-09-03 13:09:04 · 346 阅读 · 0 评论