Javascript
文章平均质量分 55
天涯学馆
软件工程师 主要从事于Web前端 移动互联网领域,分享硬核技术。公众号:天涯学馆 (领取2500G高级架构师资料)
展开
-
JavaScript 创建对象和继承的实现方式
JavaScript 创建对象的方式:(1)第一种是工厂模式,工厂模式的主要工作原理是用函数来封装创建对象的细节,从而通过调用函数来达到复用的目的。但是它有一个很大的问题就是创建出来的对象无法和某个类型联系起来,它只是简单的封装了复用代码,而没有建立起对象和类型间的关系。(2)第二种是构造函数模式。js 中每一个函数都可以作为构造函数,只要一个函数是通过 new 来调用的,那么我们就可以把它称为构造函数。执行构造函数首先会创建一个对象,然后将对象的原型指向构造函数的 prototype 属性,然后将执行原创 2021-02-02 22:51:19 · 299 阅读 · 1 评论 -
JavaScript实现数组的随机排序
// (1)使用数组 sort 方法对数组元素随机排序,让 Math.random() 出来的数与 0.5 比较,如果大于就返回 1 交换位置,如果小于就返回 -1,不交换位置。function randomSort(a, b) {return Math.random() > 0.5 ? -1 : 1;}// 缺点:每个元素被派到新数组的位置不是随机的,原因是 sort() 方法是依次比较的。// (2)随机从原数组抽取一个元素,加入到新数组function randomSort(arr原创 2021-01-31 11:44:18 · 910 阅读 · 1 评论 -
JavaScript不同类型转换规则
isNaN 和 Number.isNaN 函数的区别函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,这种方法对于 NaN 的判断更为准确。其他值到字符串的转换规则抽象操作 ToString ,它负责处理非字符串到字符串的强制类型转换。(1)Null 和 Undefined 类型原创 2021-01-31 11:40:52 · 288 阅读 · 0 评论 -
JavaScript 原型,原型链,原型方法
JavaScript 原型在 js 中我们是使用构造函数来新建一个对象的,每一个构造函数的内部都有一个 prototype 属性值,这个属性值是一个对象,这个对象包含了可以由该构造函数的所有实例共享的属性和方法。当我们使用构造函数新建一个对象后,在这个对象的内部将包含一个指针,这个指针指向构造函数的 prototype 属性对应的值,在 ES5 中这个指针被称为对象的原型。一般来说我们是不应该能够获取到这个值的,但是现在浏览器中都实现了 proto 属性来让我们访问这个属性,但是我们最好不要使用这个属性,原创 2021-01-31 11:31:34 · 147 阅读 · 0 评论 -
undefined、undeclared、null的区别
Undefined 和 Null首先 Undefined 和 Null 都是基本数据类型,这两个基本数据类型分别都只有一个值,就是 undefined 和 null。undefined 代表的含义是未定义,null 代表的含义是空对象。一般变量声明了但还没有定义的时候会返回 undefined,null主要用于赋值给一些可能会返回对象的变量,作为初始化。undefined 在 js 中不是一个保留字,这意味着我们可以使用 undefined 来作为一个变量名,这样的做法是非常危险的,它会影响我们对原创 2021-01-31 11:22:32 · 1352 阅读 · 0 评论 -
js 有哪些内置对象
内置对象js 中的内置对象主要指的是在程序执行前存在全局作用域里的由 js 定义的一些全局值属性、函数和用来实例化其他对象的构造函数对象。一般我们经常用到的如全局变量值 NaN、undefined,全局函数如 parseInt()、parseFloat() 用来实例化对象的构造函数如 Date、Object 等,还有提供数学计算的单体内置对象如 Math 对象。全局的对象( global objects )或称标准内置对象,不要和 “全局对象(global object)” 混淆。这里说的全局的对象是说原创 2021-01-31 11:17:34 · 1277 阅读 · 0 评论 -
JavaScript基本数据类型以及内存分配
js 的基本数据类型js 一共有六种基本数据类型,分别是 Undefined、Null、Boolean、Number、String,还有在 ES6 中新增的 Symbol 类型,代表创建后独一无二且不可变的数据类型,它的出现我认为主要是为了解决可能出现的全局变量冲突的问题。JavaScript 有几种类型的值涉及知识点:栈:原始数据类型(Undefined、Null、Boolean、Number、String)堆:引用数据类型(对象、数组和函数)两种类型的区别是:存储位置不同。原始数据类原创 2021-01-31 11:15:21 · 1773 阅读 · 0 评论 -
学习JavaScript数据结构和算法之二叉树详解
二叉树的概念二叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。二叉树的特点每个结点最多有两棵子树,所以二叉树中不存在度大于2的结点。二叉树中每一个节点都是一个对象,每一个数据节点都有三个指针,分别是指向父母、左孩子和右孩子的指针。每一个节点都是通过指针相互连接的。相连指针的关系都是父子关系。二叉树节点的定义二叉树节点定义如下:struct BinaryTreeNode原创 2020-12-06 11:38:23 · 274 阅读 · 0 评论 -
学习JavaScript数据结构和算法之图和图算法
图的定义图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。有向图有向边:若从顶点Vi到Vj的边有方向,则称这条边为有向边,也成为弧(Arc),用有序偶<Vi,Vj>来表示,Vi称为弧尾,Vj称为弧头。无序图无向边:若顶点Vi到Vj之间的边没有方向,则称这条边为无向边(Edge),用无序偶(Vi,Vj)来表示。简单图简单图:在图结构中,若不存在顶点到其自身的边,且同一条边不重复出现,则原创 2020-12-06 11:28:41 · 193 阅读 · 0 评论 -
使用Chrome开发者工具进行JavaScript内存分析
内存泄漏是指计算机可用内存的逐渐减少。当程序持续无法释放其使用的临时内存时就会发生。JavaScript的web应用也会经常遇到在原生应用程序中出现的内存相关的问题,如泄漏和溢出,web应用也需要应对垃圾回收停顿。尽管JavaScript使用垃圾回收进行自动内存管理,但有效的(effective)内存管理依然很重要。在这篇文章中我们将探讨分析JavaScript web应用中的内存问题。在学习有关特性时请确保尝试一下相关案例以提高你对这些工具在实践中如何工作的认识。注意:我们将要用到的某些特性目前仅对Ch原创 2020-12-06 11:18:23 · 907 阅读 · 0 评论 -
如何搭建一个简单的、面向对象的javascript基础框架
如果以后公司再能让我独立做一套新的完整系统,那么我肯定会为这个系统再写一个前端框架,那么我到底该如何写这个框架呢?在我以前的博客里我给大家展示了一个我自己写的框架,由于当时时间很紧张,做之前几乎没有完整的思考过我到底该如何去写这个框架,所以事后对于这个框架我有很多遗憾之处,当我重构过一次代码后我就没再做过任何重构操作的工作,因为我根本不想再去给它修修补补了,之所以有这个想法,就是我对我写的那个框架的基础架构不满意。为什么不满意这个基础架构了?我们先来看看我当时封装框架的方式:(function(win原创 2020-12-06 11:08:49 · 445 阅读 · 0 评论 -
JS常见三种数据推送方式
1. Comet:基于 HTTP 长连接的服务器推送技术Comet 是一种 Web 应用架构。服务器端会主动以异步的方式向客户端程序推送数据,而不需要客户端显式的发出请求。Comet 架构非常适合事件驱动的 Web 应用,以及对交互性和实时性要求很强的应用,如股票交易行情分析、聊天室和 Web 版在线游戏等。2.基于WebSocket 的推送基于WebSocket 的推送方案,在浏览器中通过http仅能实现单向的通信,comet可以一定程度上模拟双向通信,但效率较低,并需要服务器有较好的支持; fla原创 2020-12-06 10:56:02 · 1950 阅读 · 0 评论 -
JS正则表达式常见使用方法
定义和使用var patt1 = new RegExp( "hello");var patt2 = /world/ ;test方法test() 方法检索字符串中的指定值。返回值是 true 或 false。var pat = /my/ ;var str = "this is my code..." ;console.log(pat.test(str)); // trueexec方法exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。var原创 2020-12-06 10:51:07 · 208 阅读 · 0 评论 -
2020年免费计算机书籍汇总
免费计算机书籍汇总。没有注明语种的,都为英语资源。目录- [一、Web 开发](#一web-开发)- [二、系统管理](#二系统管理)- [三、编程语言](#三编程语言)- [四、数据库](#四数据库)- [五、软件开发](#五软件开发)- [六、人工智能](#六人工智能)- [七、数学理论](#七数学理论)- [八、其他](#八其他)一、Web 开发1.1 JavaScript 语言1. The Modern JavaScript Tutorial.原创 2020-11-15 17:12:45 · 1531 阅读 · 0 评论 -
如何一步步学习到精通JavaScript
JavaScript知识体系结构图:更多技术文章请关注:http://www.fxyoke.cn/原文地址:http://www.fxyoke.cn/forum.php?mod=viewthread&tid=838&extra=page%3D1转载 2016-05-18 21:51:39 · 628 阅读 · 0 评论 -
前端架构体系技术
一、框架与组件bootstrap等UI框架设计与实现伸缩布局:grid网格布局基础UI样式:元素reset、按钮、图片、菜单、表单组件UI样式:按钮组、字体图标、下拉菜单、输入框组、导航组、面包屑、分页、标签、轮播、弹出框、列表、多媒体、警告响应式布局:布局、结构、样式、媒体、javascript响应式第三方插件:插件管理jQuery、zep转载 2016-05-17 22:18:50 · 5283 阅读 · 0 评论