资深架构师之路——深入理解JavaScript垃圾回收机制一、垃圾回收机制二、为什么使用三、如何使用1、引用计数2、标记清除四、避免垃圾回收1.数组array优化2. 对象尽量复用3.循环优化五、避免内存泄漏1.意外的全局变量2.被遗忘的计时器或回调函数3.闭包4.没有清理的DOM元素引用总结 一、垃圾回收机制垃圾回收:js代码想要运行,需要操作系统或者运行时提供内存空间,来存储变量及它的值。在
转载 2023-08-15 13:29:20
41阅读
node.js可以完成轻量级、高性能的web服务、前后端JavaScript同构服务、便捷高效的前端工程化一、Node.js架构 Natives modules:当前层内容由js实现,提供应用程序可直接调用库,例如fs、path、http等,JS语言无法直接操作底层硬件设置Builtin modules “胶水层”:与底层硬件通信的桥梁,用来完成更底层的行为,里面的内容是用c/c++代
转载 2023-08-10 15:19:19
83阅读
最小全局变量JavaScript通过函数管理作用域。在函数内部生命的变量只在这个函数内部,别的地方不可用。全局变量是指在函数外或是未声明直接简单使用的。每个Javascipt环境有一个全局对象,当你在任意函数外使用this都可以访问。你创建的每一个全部变量都成了这个全局对象的属性。在浏览器里,方便起见,该全局对象有个附件属性叫做window,此window指向该全局对象本身。myglobal =
随着web技术的发展,web2.0开始成为主流,JS在整个系统中的地位越来越重要,而对于JS的优化和架构的建立也越来越受到重视。一、为自己的系统选择一个合适的框架prototype和Jquery都是很好的框架。prototype是一个完全存在于底层的代码,他优化了JS的面向对象的扩展,封装了DOM操作API,很好的处理了事件,AJAX等,体积也很小。要说他的缺点,恐怕就是它本身并没有实现太多的功能
1.语言扩展 大部分现有的框架都提供了这部分内容,语言扩展应当是以ECMAScript为基础进行的,不应当依赖任何宿主环境,也就是说,作为一个框架的设计者,你应当保证你的语言扩展可以工作在任何宿主环境中,而不是仅仅适合浏览器环境。
转载 2023-07-24 22:22:25
410阅读
JavaScript设计模式 - 架构型设计模式`同步`和`异步`死心眼-同步模块模式同步模块模式——SMD(Synchronous Module Definition)创建一个导航模块模块管理器模块调用器解决创建导航模块问题特点大心脏-异步模块模式异步模块模式——AMD(Asynchronous Module Definition)异步加载文件中的模块异步模块(使用`require.js`)仿
转载 2023-09-30 23:15:02
127阅读
我们在前面3章节学习过的一些创建型,结构型和行为型设计模式可以组合在一起,成为架构型设计模式。8.1  MVC模式MVC(Model-View-Controller,模型-视图-控制器)模式可以把JavaScript应用程序的代码划分为3个独立的部分:模型(Model),负责把代码中的与底层数据构成相关的代码组合在一起,包括对数组对存储和读取;视图(View),负责将那些用于把模型中所保存的数据显
    时隔两年后二刷JavaScript高级程序语言,纯手打读书笔记+思维导图,让自己有一个比较全面的知识体系,后面有遇到例子的时候会慢慢补充更多的用法。有不足之处欢迎大家评论区指出,共勉!!第一章 JS简介一、浏览器相关浏览器组成浏览器由渲染引擎 + JS引擎组成。渲染引擎:解析HTML+CSS,俗称内核,如chrome的blink,webkitJS引擎:JS解释器,读取网
# 组织架构js ## 介绍 在现代的软件开发过程中,组织架构扮演着非常重要的角色。它帮助我们更好地理解和管理代码的结构,使得团队协作更加高效。而在JavaScript中,组织架构同样扮演着非常关键的角色。通过合理的组织架构,我们可以更好地管理我们的代码,提高代码的可维护性和可扩展性。 在本文中,我们将介绍一些常见的JavaScript组织架构模式,并演示如何使用这些模式来组织你的JavaS
公司的项目需要兼容IE6-8,所以web socket无法使用,只能使用常规的comet服务器推技术。而由于PHP在这方面天生短板,如果要服务端使用PHP的话,同时有1000人在一个服务器上聊天,服务器内存会被占用大半,而且频繁的释放建立fastcgi进程也在一定程度上影响效率。并且PHP不支持事件驱动,所以对于服务器推消息,只能去轮询数据库或缓存是否有新消息,这样数据库服务器
目前很多网站基本没有明确的前端架构,大多是服务端渲染视图页,输出到浏览器,再配合一些js,来进行交互。 如果只是实现一些简单的效果,没有较复杂的逻辑,那么这种处理是合理的, 尤其是有了jQuery之类的利器,js代码写起来甚至有种随心所欲的感觉。 但一旦网站要改版,或者随着网站的发展,逻辑变得越来越复杂,或者为了更好的用户体验, js要承担更多的任务,这时如果维持现状不变,那js就会变得越来越臃
转载 1月前
35阅读
# JavaScript引擎架构 ## 概述 在学习如何实现JavaScript引擎架构之前,我们先来了解一下整个过程的流程。下面是一个简单的流程表格,展示了实现JavaScript引擎架构的步骤。 | 步骤 | 动作 | | ---- | ---- | | 1 | 词法分析(Lexical Analysis) | | 2 | 语法分析(Syntax Analysis) | | 3 | 语义分
原创 10月前
18阅读
译者 |  旭日云中竹 http://codetrick.net/p/Hkoj47YN0/4-javascript-design-patterns-you-should-know/ 每个JS开发者都力求写出可维护、复用性和可读性高的代码。随着应用不断扩大,代码组织的合理性也越来越重要。设计模式为特定环境下的常见问题提供了一个组织结构,对于克
转载 2023-07-30 10:42:40
70阅读
**流程控制** 为什么会有流程控制呢?代码执行不可能都是一行接着一行的去执行,所以出现了流程控制,出现了结构。 同样在实际项目中, 不可能都是简单的顺序结构(从上往下执行), 会出现不同的条件, 就要根据条件不同做出相应的处理,就有了流程控制。js的基本结构顺序结构,分支结构,循环结构。顺序结构:从上到下执行的代码就是顺序结构 程序默认就是从上到下,一行一行的顺序执行的console.log("
转载 2023-08-15 17:44:58
45阅读
  语句就是JavaScript整句或命令,以分号结束,用来执行以使某件事发生。下面将介绍三种语句:表达式语句,复合语句,声明语句。  一、表达式语句      表达式语句是javascript中最简单的语句<script> //赋值语句 helloworld = "hello" + "world"; //递增运算符
转载 11月前
22阅读
自从ajax技术兴起之后,开源界就出现了很多著名的JS框架。包括Google的Gmap等一系列,雅虎的YUI,还有就Jquery, Prototype等。使用这些框架就可以用简单的代码来实现丰富多彩的功能,有很多甚至是采用了类似面向对象的编程风格。其实只要了解了Javascript的相关基础知识,我们完全可以自己写一个JS框架出来。本文介绍了搭建JS框架的基本原则。(ITcast上的教程-构建自己
转载 2023-07-19 14:11:44
75阅读
JS设计模式系列2结构型设计模式一、外观模式1.1. 引言:添加一个点击事件1.2 兼容方式二、适配器模式2.1 适配异类框架2.2参数适配器装饰者模式【神了】 结构型设计模式结构型设计模式关注如何将类或对象组合成更大更复杂的结结构,以简化设计一、外观模式外观模式: 为一组复杂的子系统接口提供一个更高级的统一接口,通过这个接口使得对子系统的结果更容易访问 emm,这里我第一个想到的就是前端对ax
转载 2023-07-28 10:55:19
69阅读
我们在前面3章节学习过的一些创建型,结构型和行为型设计模式可以组合在一起,成为架构型设计模式。8.1  MVC模式MVC(Model-View-Controller,模型-视图-控制器)模式可以把JavaScript应用程序的代码划分为3个独立的部分:模型(Model),负责把代码中的与底层数据构成相关的代码组合在一起,包括对数组对存储和读取;视图(View),负责将那些用于把模型中所保存的数据显
JavaScriptJS是遵循ECMAScript规范的解释型脚本语言。它是多范式、支持面向对象、动态、指令等特性的语言。而如今,JS已经可以在许多非浏览器环境中使用。Javascript是一种简单易用的语言,主要用于设计或开发Web应用,用来控制网页行为。Javascript基本语法与Java和c ++语言相类似,如果你有这些语言基础,可以更快的上手,包括理解该语言所需的概念。JS语言结构如下:
一、js的简介1、js是什么 js是可以嵌入到html中,是基于对象和事件驱动的脚本语言 特点: (1)交互性 (2)安全性:js不能访问本地磁盘 (3)跨平台:浏览器中都具备js解析器 2、js能做什么 (1)js能动态的修改(增删)html和css的代码 (2)能动态的校验数据 3
  • 1
  • 2
  • 3
  • 4
  • 5