自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lorinzhang

纸上得来终觉浅,绝知此事要躬行 [email protected]

  • 博客(166)
  • 资源 (19)
  • 收藏
  • 关注

原创 《每天十分钟》-红宝书第4版-对象、类与面向对象编程(七)

与函数类型相似,定义类也有两种主要方式:类声明和类表达式。

2024-04-14 22:16:13 713

原创 《每天十分钟》-红宝书第4版-对象、类与面向对象编程(六)

上节提到原型包含引用值导致的继承问题,为了解决这种问题,一种叫作“盗用构造函数”(constructor stealing)的技术在开发社区流行起来(这种技术有时也称作“对象伪装”或“经典继承”)。因为毕竟函数就是在特定上下文中执行代码的简单对象,所以可以使用apply()和 call()方法以新创建的对象为上下文执行构造函数。基本的思路是使用原型链继承原型上的属性和方法,而通过盗用构造函数继承实例属性。组合继承弥补了原型链和盗用构造函数的不足,是 JavaScript 中使用最多的继承模式。

2024-03-27 22:43:07 519

原创 《每天十分钟》-红宝书第4版-对象、类与面向对象编程(五)

而上面的写法完全重写了默认的 prototype 对象,因此其 constructor 属性也指向了完全不同的新对象(Object 构造函数),不再指向原来的构造函数。因为实例和原型之间的链接就是简单的指针,而不是保存的副本,所以会在原型上找到sayHi属性并返回这个属性保存的函数。前面在谈到原型的问题时也提到过,原型中包含的引用值会在所有实例间共享,这也是为什么属性通常会在构造函数中定义而不会定义在原型上的原因。通过原生对象的原型可以取得所有默认方法的引用,也可以给原生类型的实例定义新的方法。

2024-03-24 22:33:23 743

原创 《每天十分钟》-红宝书第4版-对象、类与面向对象编程(四)

如果没有找到这个属性,则搜索会沿着指针进入原型对象,然后在原型对象上找到属性后,再返回对应的值。于是就返回了保存在原型上的这个函数。在 ECMAScript 6 新增符号类型之后,相应地出现了增加一个 Object.getOwnPropertyNames()的兄弟方法的需求,因为以符号为键的属性没有名称的概念。在单独使用时,in 操作符会在可以通过对象访问指定属性时返回 true,无论该属性是在实例上还是在原型上。与原型对象中同名的属性,那就会在实例上创建这个属性,这个属性会遮住原型对象上的属性。

2024-03-16 22:20:01 591

原创 《每天十分钟》-红宝书第4版-对象、类与面向对象编程(三)

脚本中没有访问这个[[Prototype]]特性的标准方式,但 Firefox、Safari 和 Chrome会在每个对象上暴露__proto__属性,通过这个属性可以访问对象的原型。每个函数都会创建一个 prototype 属性,这个属性是一个对象,包含应该由特定引用类型的实例共享的属性和方法。实际上,这个对象就是通过调用构造函数创建的对象的原型。ECMAScript 的 Object 类型有一个方法叫 Object.getPrototypeOf(),返回参数的内部特性[[Prototype]]的值。

2024-03-07 23:09:05 667

原创 《每天十分钟》-红宝书第4版-对象、类与面向对象编程(二)

和面向对象相关的内容开始了,认真抄,用了很多年 ,要多思考。ECMAScript 5.1 并没有正式支持面向对象的结构,比如类或继承。ECMAScript 6 开始正式支持类和继承。ES6 的类旨在完全涵盖之前规范设计的基于原型的继承模式。

2024-02-06 14:32:45 777

原创 《每天十分钟》-红宝书第4版-对象、类与面向对象编程

ECMA-262 将对象定义为一组属性的无序集合。ECMAScript 的对象想象成一张散列表,其中的内容就是一组名/值对,值可以是数据或者函数。

2024-02-05 19:27:10 685

原创 《每天十分钟》-红宝书第4版-迭代器与生成器(二)

生成器的形式是一个函数,这个函数比较特殊,它拥有在一个函数块内暂停和恢复代码执行的能力。函数名称前面加一个星号(*) 这就表示它是一个生成器了标识生成器函数的星号不受两侧空格的影响调用生成器函数会产生一个生成器对象。生成器对象一开始处于暂停执行(suspended)的状态。与迭代器相似,生成器对象也实现了 Iterator 接口,因此具有 next()方法。调用这个方法会让生成器开始或恢复执行。

2024-01-31 20:33:40 376

原创 《每天十分钟》-红宝书第4版-迭代器与生成器

/ Counter 的实例应该迭代 limit 次next() {} else {// 1// 2// 3这个类实现了 Iterator 接口,但不理想。// 1// 2// 3为了让一个可迭代对象能够创建多个迭代器,必须每创建一个迭代器就对应一个新计数器。为此,return {next() {} else {// 1// 2// 3// 1// 2// 3每个以这种方式创建的迭代器也实现了 Iterable 接口。// true。

2024-01-25 19:47:16 747

原创 《每天十分钟》-红宝书第4版-集合引用类型(四)- Set

使用Set时,需要考虑几个地方。某些 Set 操作是有关联性的,因此最好让实现的方法能支持处理任意多个集合实例。Set 保留插入顺序,所有方法返回的集合必须保证顺序。尽可能高效地使用内存。扩展操作符的语法很简洁,但尽可能避免集合和数组间的相互转换能够节省对象初始化成本。不要修改已有的集合实例。union(a, b)或 a.union(b)应该返回包含结果的新集合实例。

2024-01-24 11:15:46 808

原创 《每天十分钟》-红宝书第4版-集合引用类型(四)- Map

JS中实现“键/值”式存储可以使用 Object 来方便高效地完成,TC39 委员会专门为“键/值”存储定义了一个规范,于是就有了Map。

2024-01-23 14:15:22 939

原创 《每天十分钟》-红宝书第4版-集合引用类型(三)

数组还有一些常见api,还有一种特别的定型数组。

2024-01-19 23:01:15 391

原创 《每天十分钟》-红宝书第4版-集合引用类型(二)

接着写数组相关内容

2024-01-13 18:02:46 375

原创 《每天十分钟》-红宝书第4版-集合引用类型

实际上,在我们开发项目的过程中,框架搭建好之后,日常还是和各种类型的变量打交道,所以要写出严谨的代码还是要对常用的变量逐一学习,面试过程中也通常会被问一些api的理解,或者在解决问题过程中熟练使用api。

2024-01-12 12:35:37 776

原创 《每天十分钟》-红宝书第4版-基本引用类型

JavaScript 中的对象称为引用值,几种内置的引用类型可用于创建特定类型的对象。引用值与传统面向对象编程语言中的类相似,但实现不同。Date 类型提供关于日期和时间的信息,包括当前日期、时间及相关计算。RegExp 类型是 ECMAScript 支持正则表达式的接口,提供了大多数基础的和部分高级的正则表达式功能。JavaScript 比较独特的一点是,函数实际上是 Function 类型的实例,也就是说函数也是对象。因为函数也是对象,所以函数也有方法,可以用于增强其能力。

2024-01-10 14:13:22 901

原创 《每天十分钟》-红宝书第4版-性能

在使用垃圾回收的编程环境中,开发者通常无须关心内存管理。分配给浏览器的内存通常比分配给桌面软件的要少很多,分配给移动浏览器的就更少了。要避免这种动态分配操作,可以在初始化时就创建一个大小够用的数组,从而避免上述先删除再创建的操作。V8 会在后台配置,让这两个类实例共享相同的隐藏类,因为这两个实例共享同一个构造函数和原型。由于 JavaScript 数组的大小是动态可变的,引擎会删除大小为 100 的数组,再创建一个新的大小为。矢量对象的生命周期很短,那么它会很快失去所有对它的引用,成为可以被回收的值。

2024-01-03 19:05:33 874

原创 《每天十分钟》-红宝书第4版-执行上下文与作用域

先阅读一段晦涩难懂的文字执行上下文(以下简称“上下文”)的概念在 JavaScript 中是颇为重要的。变量或函数的上下文决定 了它们可以访问哪些数据,以及它们的行为。每个上下文都有一个关联的变量对象(variable object), 而这个上下文中定义的所有变量和函数都存在于这个对象上。虽然无法通过代码访问变量对象,但后台 处理数据会用到它。全局上下文是最外层的上下文。根据 ECMAScript 实现的宿主环境,表示全局上下文的对象可能不一 样。

2023-12-31 22:52:33 884

原创 《每天十分钟》-红宝书第4版-变量、作用域与内存

最近有点忙,好长时间没抄经了,今天继续,之前语言基础相对简单,跳过一部分操作符。

2023-08-27 09:34:46 197

原创 《每天十分钟》-红宝书第4版-语言基础-数据类型(五)

根 据 接 收 到 的 对 象 类 型 选 择 如 何 将 一 个 类 数 组 对 象 拼 接 成 数 组 实 例。该用 Array.prototype.concat()打平其数组元素”。ES6 中的 Array.prototype.concat()方法会。只操作一个值的操作符叫一元操作符(unary operator)。一元操作符是 ECMAScript 中最简单的操作符。这个符号作为一个属性表示“一个布尔值,如果是 true,则意味着对象应。最近刀郎出了新专辑《山歌寥哉》不错~

2023-08-04 22:29:56 460

原创 《每天十分钟》-红宝书第4版-语言基础-数据类型(四)

对象的每个属性都有一个描述对象(Descriptor),用来控制该属性的行为。Object.getOwnPropertyNames返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括不可枚举属性)的键名。Object.getOwnPropertySymbols返回一个数组,包含对象自身的所有 Symbol 属性的键名。Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。竹深树密虫鸣处,时有微凉不是风。杨万里杨万里〔宋代〕

2023-07-24 13:08:24 101

原创 《每天十分钟》-红宝书第4版-语言基础-数据类型(三)

Symbol.keyFor() 可以查询某个全局符号在全局注册表中的描述字符串,但参数必须是个符号类型否则异常。注意:在全局注册表中定义的符号和使用普通 Symbol()定义的符号 即使描述一致,值也不一样。此方法会检查全局运行时注册表是否存在对应的符号,不存在创建并放到全局中,存在就返回该实例。在运行的上下文中需要共享一个符号实例的时候可以 使用 Symbol.for() 方法。符号的用途是确保对象属性使用唯一标识符,不会发生属性冲突的危险。符号是原始值,且符号实例是唯一、不可变的。

2023-07-19 22:46:43 69

原创 《每天十分钟》-红宝书第4版-语言基础-数据类型(二)

此方法规则也很简单和 parseInt 一致,有个特殊情况它始终忽略字符串开头的0,所以它遇到16进制 0x 会始终返回0,也就是说 parseFloat() 只能处理16进制。从第一个非空格字符开始转换。如果第一个字符不是数值字符**、加号或减号**,parseInt()立即返回 NaN。这意味着空字符串也会返回 NaN(这一点跟 Number()不一样,它返回 0)。,则继续依次检测每个字符,直到字符串末尾,或碰到非数值字符。未觉池塘春草梦,阶前梧叶已秋声。又到了欣赏古诗时间😄。

2023-07-15 21:58:45 180

原创 《每天十分钟》-红宝书第4版-语言基础-数据类型(一)

答:JS 浮点值的精确度最高可达 17 位小数,0.1的二进制表示的是一个无限循环小数,JS对这个小数的二进制进行截取前17位,截取之后0.1不再是0.1,截取之后0.1变成了 0.100…任何无法表示的负数以-Infinity(负无穷大)表示,任何无法表示的正数以 Infinity(正无穷大)表示。默认情况下,ECMAScript 会将小数点后至少包含 6 个零的浮点值转换为科学记数法(例如,0.000 000 3 会被转换为 3e-7)。这是因为特殊值 null 被认为是一个对空对象的引用。

2023-07-08 23:43:13 276

原创 《每天十分钟》-红宝书第4版-HTML 中的 JavaScript

使用元素将 JavaScript 插入 HTML是给页面添加灵魂的最直接方式。这个元素是由网景公司创造被加入到 HTML 规范,网景对于前端想个什么词来形容呢,混沌初开,开山鼻祖,女娲造人…元素目前规定了8 个属性。我们按照添加方式或者加载执行顺序不同逐个了解。

2023-07-02 15:16:58 724

原创 《每天十分钟》-红宝书第4版-什么是JavaScript

天下大事,分久必合”,1997年,JavaScript 1.1作为提案被提交给欧洲计算机制造商协会(Ecma),第39技术委员会(TC39)承担了制定统一脚本语言和语义的任务(TC39委员会由来自网景、Sun、微软、Borland 、Nombas 和其他对这门脚本语言有兴趣的公司的工程师组成。有网景公司的推广,有很牛的浏览器加持,web正处于风口期,就这样天时地利人和的条件下,由于JavaScript 1.0很成功,网景又在Netscape Navigator 3中发布了1.1版本。

2023-06-30 19:39:46 189

原创 手动实现Promise TS版

手动实现Promise TS 版

2022-02-24 18:41:57 243

原创 手机端调试html5

ios手机调试:手机端配置:设置 -> safari浏览器 -> 高级 -> 打开JavaScript & Web检查器pc端配置:safari浏览器 选择开发 -> xx的MacBook Pro -> 自动显示JSContext 的网页检查器安卓手机调试:手机端环境: ##### 非微信环境安装谷歌浏览器打开开发者模式 (请根据不同机型自行百度)谷歌浏览器 输入访问地址微信环境微信中访问 http://debugx5.qq.com.

2021-10-09 11:08:18 709

原创 快速使用Docker 挂载本机目录搭建开发环境

命令含义不再详细介绍,参考具体帮助文档开发环境使用:多个项目统一的目录 ~/workspace创建 aha-php-fpmdocker run --name aha-php-fpm -v ~/workspace:/www --privileged=true -d php:7.1-fpm创建 aha-php-nginxdocker run --name aha-php-nginx -p 80:80 -d \ --privileged=true \ -v ~/work

2021-10-09 10:45:21 147

原创 简单项目分支控制

分支说明master分支:存储正式发布的产品,master 分支上的产品要求随时处于可部署状态。master 分支只能通过与其他分支合并来更新内容,禁止直接在 master 分支进行修改。develop分支:汇总开发者完成的工作成果,develop 分支上的产品可以是缺失功能模块的半成品,但是已有的功能模块不能是半成品。(例:ios 送审版本)sprint分支:当要开发产品线新功能或者试验新功能时,从 master 分支创建一个新的 sprint 分支,并在 sprint 分支上进行开发。开发完成.

2021-10-08 17:38:27 291

原创 前端网站性能指标

FP(First Paint)页面在导航后首次呈现出不同于导航前内容的时间点。通过浏览器的 window.performance.getEntriesByName(‘first-paint’)可以获取。FCP(First Conentful Paint)首次绘制任何文本,图像,非空白canvas或SVG的时间点。通过浏览器的 window.performance.getEntriesByName(‘first-contentful-paint’)可以获取。First Meaningful Pai

2021-10-08 17:10:14 506

原创 前端异常捕获

前端异常的分类1. 语法错误 SyntaxError触发场景:(1)变量名错误 (2)缺少括号影响会影响页面加载,var 1a; //(1)console.log'hello'); //(2)

2021-10-08 16:59:22 489

原创 UML图

UML-Unified Modeling Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言[百度百科]​​​1、用例图(UseCase Diagrams):用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。2、类图(Class Diagr...

2019-10-10 22:51:32 255

原创 构建自己的脚手架

当我们愉快的使用vue-cli 的时候可能会想到他是如何帮我们生成目录的参考了scion 感谢 scion - 什么时候需要脚手架 - 脚手架的原理 - 技术栈项目开始从零开始搭建项目结构,尤其是公司内一些增长运营的短期项目,有可能生命周期短,频繁新建项目,这时候脚手架可以帮助我们迅速创建结构如果你了解过yeoman,并用yeoman 生成过项目,那么可以思考一下生成...

2018-08-28 20:17:30 2355

原创 持续集成流程设计(自动化布署)

如上图,bitbucket 也可以替换为其他git 仓库,比如gitlab 也可以搭建自己的服务端打包工具中 FIS/GULP 也可以替换为 webpack 

2018-05-17 14:49:58 1039

原创 关于全景在教育行业的需求分析

关于全景在教育行业的需求分析

2017-12-08 11:33:22 1017

原创 使用适合自己的html5 开发方式

无论什么东西选择适合自己的最重要先看一下前端团队协作模式正如上图,第三步,就是开发人员所在位置

2017-08-19 12:04:37 459

原创 angular 2 学习笔记 2--理解项目结构

不知如何写文字,先看看官方给的图 没看大明白,因为其中有我们不知道的名词,那先回头看看之前的helloworld 的结构,然后再撸了了一下过程,再想一下mvc 结构,再想一下mvvm ,然后草图一下最终得到:这图真难看。看不懂得看热闹,看懂的也看热闹. 得到几个名词,我们暂时不考虑单页面应用,不用考虑前端路由。写的可能不准确,who care Component :一个component 可

2016-10-20 18:13:34 1353

原创 angular 2 学习笔记 1--Hello world

Hello world按步骤学习安装node.js 和 npm创建项目配置文件创建一个根模块创建一个根component启动你的应用定义一个网页编译运行node.js node 需要 v5.x.x npm 需要 3.x.x,可以分别使用使用 node -v 和 npm -v查看创建项目配置文件新增一个项目目录,比如 webapp ,然后在 webapp 目录下面新增下面四个配置

2016-09-28 15:50:10 1375 1

原创 Swagger UI的使用

一个项目有一个好的API 文档会减少很多沟通成本,很大的提供工作效率,介绍一个神奇 Swagger UI使用node 快速搭建一个API文档-下载Swagger UI git clone https://github.com/swagger-api/swagger-ui.git-下载express npm install express --save npm install -g

2016-08-16 17:04:36 3738 2

原创 phonegap(cordova) 自定义插件代码篇(六)----android ,iOS 微信支付工具整合

还是那句话,在使用插件代码篇的时候,请先了解插件机制(如整合原生插件先阅读原生插件文档,很重要!很重要!很重要!),如未了解,请先阅读入门篇,这里就专贴关键代码必须先把官方sdk 按照要求一步一步的整到自己项目中,然后再来看此代码,这里是cordova 整合代码如有不明白的,加群 38840127     (function (cordova) { var define = c

2016-01-08 16:50:43 3197

requirejs 修改为webpack 模块中依赖其他模块时的配置项

requirejs 修改为webpack 模块中依赖其他模块时的配置项

2018-11-05

phonegap 修改后的inappbrowser 图片是放到ios中的

phonegap 修改后的inappbrowser 自己美化头部的问题

2014-11-05

输入框内容放大jquery 插件

输入框内容放大jquery 插件,用户输入明显放大

2014-05-22

DTCPing工具

DTCPing工具,测试分布式事务是否可以用

2014-05-20

cordova 项目基本包括官网所有插件源码

cordova 项目基本包括官网所有插件源码,直接可以运行

2014-04-01

基于jquery , ajaxfileupload.js的封装之后的控件自动上传控件

基于jquery , ajaxfileupload.js的封装之后的控件自动上传控件

2013-09-16

SQL2005对比工具

SQL2005数据库对比工具

2013-09-11

java 访问 wcf 示例(使用的HttpClient)

java 访问 wcf 示例(使用的HttpClient)

2013-03-08

java使用 httpclient 访问wcf 用到的 jar包(包括json jar)

java使用 httpclient 访问wcf 用到的 jar包(包括json jar)

2013-03-08

.net Reflector 7.5.4.20.zip

.net Reflector 反编译工具,可调试应用的dll ,可执行文件 方便调试,不过整合到 vs 中 调试占内存 有点大,机器要强悍点哦

2012-09-07

JSON2.js JSON 的解析器

为了和IE8内置的JSON2区别开更换变量名

2012-08-27

64位 System.Data.SQLite.DLL

64位 System.Data.SQLite.DLL

2012-06-22

全国地区表在一个表中 mysql 版

全国地区表在一个表中 mysql 版, 相对较全的全国城市 到县

2012-06-05

ip 数据库 sqlserver 2005版

纯真 ip 数据库 转换以后的 sqlserver 2005 版

2012-06-05

全国城市 sqlserver版 在一个表中

全国城市 sqlserver版 在一个表中

2012-05-27

JRating星星评分插件

星星插件还是这个感觉相对好用 优点,1-代码少 2-支持小数星星

2012-04-19

修改tipswindown后,处理弹出层中控件失效问题

jquery 弹出层插件tipswindown 修改在asp.net中弹出层控件事件失效

2011-11-02

Newtonsoft.Json.dll,Newtonsoft.Json.xml

json.net的dll,资源描述要写20个字。。。。。。。。。。。。。。。。。。。。。。。。。。

2011-05-18

这是俺用java写的五子棋,一款自认为很好的作品,嘿嘿.....

在学校的时候写的五子棋,又想玩玩看的吗?有想看看源码的吗?联系我

2010-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除