![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
文章平均质量分 52
qq_8572777886
前端攻城狮一枚~
展开
-
React--jsx
jsx 介绍jsx 是javascript的语法扩展,虽然看起来像是模板语法,其实内部完全是javascript实现的react认为渲染逻辑的本质与ui逻辑是一致的: 如何处理事件、如何显示数据与页面如何布局、如何展示页面是同一等级的问题react不是将标记和逻辑通过拆分文件来解耦合,而是将问题拆分成组件来解耦合react不是必须使用jsx,但是通过jsx可以更好的获得视觉辅助,以...原创 2018-08-23 02:11:29 · 185 阅读 · 0 评论 -
[javascript] js中的堆和栈
堆和栈是内存分配的统称。在js中,基础类型保存在栈中,引用类型放在堆中,不过引用类型有一个对应内存地址,存放在栈中。当查询引用类型的变量时,先从栈中取出引用类型的地址,然后通过地址找到堆中的地址。栈的内存大小固定,堆的内存大小不固定。栈的内存都是提前分配好了,每个基本类型的大小都是一定的。而堆的大小不确定,需要程序自己申请。栈会被自动回收,堆不会。...原创 2018-03-29 01:44:52 · 326 阅读 · 0 评论 -
[nodejs] 了解内存泄漏
什么是内存泄漏GC (Garbage Collection,垃圾回收)内存泄漏的常见情况1. 全局对象2. 闭包3. 事件监听4. 其他原因小结什么是内存泄漏内存泄漏(Memory Leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。 如果内存泄漏的地方刚好是程序执行的重要位置,那么程序就可能会因为堆积越来越多无用的内存,...原创 2018-03-28 00:31:34 · 1450 阅读 · 0 评论 -
[ES6] 变量的结构赋值
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构数组的解构赋值如果目标对象的结构不符合/不具备iterator接口,都将会报错结构赋值可以有默认值,当数组中的值完全等于undefined,默认值才会生效let [a=1] = [];a //1// 相当于let [a=1] = [undefined];a // 1可以嵌套使用l...原创 2018-02-24 11:36:26 · 289 阅读 · 0 评论 -
Functional Programming -- Monad
原文: Functional Computational Thinking — What is a monad? 原文作者是在学习了 Haskell 之后,又看到了 Why Do Manods Matter 的相关视频,根据视频中Haskell 函数组合的例子,转用javascript实现(nodejs环境)。首先 ,我们都知道 函数组合:const add1 = x =&g...翻译 2018-03-07 17:16:14 · 267 阅读 · 0 评论 -
百度地图 行车路径规划自定义 起点 终点 路径
已知N个坐标点,用这个点在百度地图上绘制一条行车路线问题:百度地图为我们提供了 DrivingRoute API,但是提供的api中并没有提供更改路径、起点、终点、经点的样式,如果想让界面看起来舒服一点就需要自己自定义API DrivingRoute中提供了返回路径规划的路径的path接口,我们可以利用返回的path, 再调用Polyline, 自己绘制一个路径,然后把对应的起终点、...原创 2018-01-08 14:46:30 · 12219 阅读 · 2 评论 -
[ES6] let const
let不能够重复声明会形成暂时性死区不存在产量提升会形成块级作用域const使用const声明的变量保证的是声明时指向的内存地址不变声明时必须要赋值其余同let特性一样块级作用域已实现es6和未实现es6的浏览器运行环境的差异太大,应尽量避免块级作用域内声明函数,如果需要应使用函数表达式的方式引const 1.冻结对象 可以使用Object.f...原创 2018-02-12 13:57:25 · 157 阅读 · 0 评论 -
前端文件上传原理
记:最近在做图片上传,但是一直对图片上传的概念模糊不清,所以查阅了一些文档,现在对基本原理有了一个认识前端网页文件上传一般使用 来实现。 在 HTML 文档中 标签每出现一次,一个 FileUpload 对象就会被创建。该标签包含一个文本输入字段,用来输入文件名,还有一个按钮,用来打开文件选择对话框以便图形化选择文件,该标签的 value属性保存了用户指定的文件的名称。 多选:原创 2018-01-18 11:48:47 · 10442 阅读 · 0 评论 -
GET请求和POST请求的区别
GET请求 和 POST请求 都是TCP请求,不过因为http的规定和服务器/浏览器的限制,导致在实际应用中的不同。当发送ajax请求时,GET请求会发送一个TCP数据包,而POST请求会发送两个(先发送header, 然后发送data)在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。...原创 2018-02-26 14:44:22 · 246 阅读 · 0 评论 -
你不知道的javascript[1] --- 编译原理
javascript与我们知道的java等后台语言一样同样是编译语言,但是与后者不同的是,javascript不是提前编译的,编译结果也不能在分布式系统中移植。javascript和传统编译语言非常相似,传统编译语言编译过程分为三步:分词/词法分析会将字符串分解为有意义的代码块,这些代码块被成为词法单元。 例:var a = 1; 会被分解为 var, a, =, 1, ;解析/语原创 2018-01-18 17:23:19 · 184 阅读 · 0 评论 -
[ES6] class中的contructor
ES6中的class相当于ES5中的构造函数constructor是class中的构造方法(同es5的构造方法一样)class本身就是函数, 而class本身就指向其自身的constructor构造函数 // es5 function Person(name) { this.name = name; } ----------原创 2018-01-20 00:38:19 · 619 阅读 · 0 评论 -
知乎上的一篇关于js赋值运算的一道面试题
原链接地址var a = {n: 1};var b = a;a.x = a = {n: 2};alert(a.x); // undefinedalert(b.x); // [object, Object]在第三行 a.x = a = {n : 2} ,js在执行赋值表达式之前,还执行了一步运算,这步运算是把 引用类型的内存地址替换进来,然后再进行赋值运算。 原来js赋值运转载 2018-01-24 01:02:43 · 558 阅读 · 0 评论 -
[ES6] Class中的super
super关键字出现的前提是使用Class的继承。 class Person { // ... } class Student extends Person{ constructor(){ super(); } }为什么会有super当类使用继承,并实例化时, es5 的继承是先创建子类的thi原创 2018-01-24 00:47:33 · 5817 阅读 · 0 评论 -
[javascript] 原型和原型链
原型和原型链原型是什么原型是一个对象,是函数对象的一个实例,只有在函数对象上才会有指向原型的属性prototype。函数对象是什么在javascript中,对象分为两种,一种是普通对象,一种是函数对象。函数对象总共有12个内置对象,除了下面的9个还有:Math和JSON是对象形式,Arguments仅在调用时由js创建。包括javascript内置的9个内置对象:Number、Str...原创 2018-09-28 14:43:02 · 288 阅读 · 0 评论