JS 之 【Electron】 实现跨平台客户端开发
强大的 JS 再次放大招了,构建跨平台桌面应用 该文档为填坑+实现涉及到基础应用的搭建、打包、版本增量更新不涉及深入的技术(毕竟也是刚接触)不涉及 Linux 系统不涉及代码签名不涉及应用分发 关于 electronElectron是由Github开发,用HTML,C
强大的 JS 再次放大招了,构建跨平台桌面应用 该文档为填坑+实现涉及到基础应用的搭建、打包、版本增量更新不涉及深入的技术(毕竟也是刚接触)不涉及 Linux 系统不涉及代码签名不涉及应用分发 关于 electronElectron是由Github开发,用HTML,C
不记得什么时候收藏的这篇文章,今天突然翻到了,于是就分享出来了原稿不是本人,翻译也不是本人,只是简单的分享 今天我想跟大家谈一谈HTML5的设计。主要分两个方面:一方面,当然了,就是HTML5。我可以站在这儿只讲HTML5,但我并不打算这样做,因为如果你想了解HTML5的话
@license AngularJS v1.4.8本次没有涉及到源码只是对源码的梳理 Angular 实现依赖注入的基本思路是这样的: 首先有个用于存依赖项和依赖值的映射表 有个专门获取函数参数的方法 annotate 统一处理依赖注入的多种方式 从函数的参
启动 angular 之前都做了什么 ? @license AngularJS v1.4.8 该代码块基于源码进行了删减该代码块仅用于学习 分享 交流只梳理了代码的初始化,具体方法是干什么的等到后续说明 在启动angular之前,会做一些初始化工作 第一步 绑定 J
$http 服务的实现细节解读 @license AngularJS v1.4.8 该代码块基于源码进行了删减该代码块仅用于学习 分享 交流 12345678910111213141516171819202122232425262728293031323334353637
全面解读 angular 的 $q 机制 @license AngularJS v1.4.8 该代码块基于源码进行了删减该代码块仅用于学习 分享 交流为了代码的清晰,修改了部分非核心代码,并且删除了所有的异常处理以下为 angular $q 的核心代码 123456789
前端系统开发月报开发背景1234对之前的系统更新升级目前有几套不同端的系统不同的入口,不同的前端页面,统一的接口,统一的数据库单页面应用系统 路由设计12345678URL -> 先由服务端统一路由 -> 然后交给前端处理目前设计了两种路由: /t 开头的有导航
判断一个整数是否是回文数 @param {number} x@return {boolean} 12345678910111213141516var isPalindrome = function(x) { /** * 首先将数字反转 然后判断是否相等
给定一个包含整数的无序数组,要求找出乘积最大的三个数e.g:[-1, -8, 3, 5, -7, 4] => [-8, 5, -7][3, 9, -10, 5, 1, -1] => [3, 9, 5] 12345678910111213141516171819202
整数反转Example1: x = 123, return 321Example2: x = -123, return -321@param {number} x@return {number} 12345678910111213141516171819202122232425
Tow Num 给定一个整数数组,返回两个数的和为指定目标的索引时间复杂度 O(n)e.g:Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].le
已知一个无序整数数组,求数组中连续子序列的最大值时间复杂度 O(n)e.g:[-9, -3, -1, -4, -7, -8] => -1[2, -1, 0, 3, 8, -5, 9, -12, 10] => 21 12345678910111213141516171
在前端做一直在做数据处理相关的工作,数据处理中循环是必不可少的今天突发奇想做个 for forEach while 的性能测试 通过 while 生成一个 10000/1000000/10000000 的数组(100000000 的时候,我在 8G Mac mini 的 Chr
添加到主屏后的标题(IOS)1<meta name="apple-mobile-web-app-title" content="标题"> 启用 WebApp 全屏模式(IOS)当网站添加到主屏幕后再点击进行启动时,可隐藏地址栏(从浏览器跳转或输入链接进入并没有此效果)
JavaScript 语言精粹随笔 author: PaddyWang 不愧是大师 Douglas 的作品 每读一遍都有不同的收获 更加严谨而又有艺术的代码风格 添加类型拓展方法12345678910Function.prototype.extend = function(
JavaScript 高级 简述 从 MVC 到 MVVM 再从面向对象编程到原型、作用域链、闭包、递归、DOM 和 BOM MVC & MVVM & oop & prototype & scope chain & closure &
模块化模块化开发思想 将一个产品看成一系列功能模块的组合 就是按照功能模块划分来进行代码的编写 最终将各个模块组合在一块 大到可以是一个集成模块 用户模块、商品模块、登录、注册… 小到可以是一个 增、删、查、改 各个模块之间是相互独立的 即开发时互不干扰 由各个模块又可以组成新
模块化模块化开发思想 将一个产品看成一系列功能模块的组合 就是按照功能模块划分来进行代码的编写 最终将各个模块组合在一块 大到可以是一个集成模块 用户模块、商品模块、登录、注册… 小到可以是一个 增、删、查、改 各个模块之间是相互独立的 即开发时互不干扰 由各个模块又可以组成新
前端兼容性问题 对于前端来说兼容性问题就是浏览器的兼容问题 有不同浏览器的兼容问题 也有相同浏览器的不同版本的兼容问题 一共分为两大类的兼容问题: 和页面渲染相关的 HTML 和 CSS 兼容问题 和 JS 引擎相关的 JS 解析 : DOM 和 BOM HTML 兼容 这
less简介CSS(层叠样式表)是一门历史悠久的标记性语言,同 HTML 一道,被广泛应用于万维网(World Wide Web)中。HTML 主要负责文档结构的定义,CSS 负责文档表现形式或样式的定义。 作为一门标记性语言,CSS 的语法相对简单,对使用者的要求较低,但同时也
JS中String的高级操作String(高级API) 字符串索引操作 charAt() 指定索引位置字符 = str.charAt(index); charCodeAt() 指定索引位置字符ASCII = str.charCodeAt(index); indexOf()
在 Javascript 中可以说原型是在原生开发中比较重要的一个概念 要想在原生 JS 开发中得心应手,必须熟悉原型、原型对象、原型属性之间的关系 还要熟悉原型链,以及原型链搜索原则 原型属性prototype在js中每当我们创建一个函数的时候就会有一个prototype(原型
简介 作用域是每一门编程语言重要的一部分,它决定了一个变量的有权访问 在JavaScript 中作用域又是面试常考的一个知识点 总结一下关于作用域的知识点: 从字面上来看作用域就是起作用的区域 即 :在函数执行时起作用的区域 先了解两个概念: 块级作用域 词法作用域 块
从字面上来理解闭包就是封闭的包裹 可以理解为受到保护的区域 即: 函数内部定义的变量,函数外部无法访问 产生闭包的原因:js的词法作用域 有时候往往在一个作用域中需要访问另一作用域中的变量 即:跨链访问 闭包的作用的就是进行跨链访问 走一个demo:123function fn(
所谓递归就是自己调用自己 递归思想就是:将问题归结为已经解决的问题 实现递归的过程: 什么时候递归 什么时候跳出 知识点:arguments.callee 就是当前函数的引用 上几个demo: 求n!123456function fn(n){ if(n &
viewport用于承载页面的视口,可以进行网页的缩放 viewport(视口)就相当于一张照片纸,浏览器窗口就相当于一个相框,网页就相当于照片上的图案。viewport又不局限于浏览器可视区域的大小,它可能比浏览器的可视区域要大,也可能比浏览器的可视区域要小。在默认情况下,一般
增 push() 插入后数组长度 = 数组.push(元素); 返回数组长度;插入一个元素到数组最后面(改变原数组) unshift() 插入后数组长度 = 数组.unshift(元素); 返回数组长度;插入一个元素到数组最前面(改变原数组)12345678var arr
模板引擎Template模板引擎实现基本原理首先体验一下 进行简单实现// 目标 将字符串里的带有<%= %>标识符的替换成对应的数据 var str = '大家好!我是<%= name %>, 今年<%= age %>岁&ap
响应式布局响应式布局即一个页面可以兼容多种终端设备 说白了就是页面随着屏幕尺寸的改变来自适应 移动Web开发与响应式布局相比较: 域名以 m. 开头 移动Web开发只适配于移动设备 一般采用百分比布局 一般是在已有PC端页面的基础上扩充 多采用通栏 较响应式布局来说开发成本低
作为前端工程师如果不会 DOM 操作恐怕要被笑掉大牙了 频繁的 DOM 操作会降低网站的性能 一个有经验的后台开发和一个没有经验的后台开发在性能上可能不会相差太大 但是一个有经验的前端开发和一个没有经验的前端开发在性能上可以相差百倍 因此合理的 DOM 操作非常重要 DOM节点访
JavaScript 中的数据类型 基本数据类型 string number boolean 复杂数据类型 Object Function Date Array 在 js 中变量的声明很随便 var可以声明任意数据类型的变量 而且不同数据类型的变量可以赋值和转换 字符串
可以说日期对象在前端开发过程中是个至关重要的对象 时间就是一个标识 日期对象(Date) 日期对象创建 var date = new Date(); 本地当前日期 => Fri Jan 29 2016 11:01:20 GMT+0800 (中国标准时间) var da
理解值类型和引用类型在JavaScript中进行数据操作的时候可以将其划分为值类型和引用类型 值类型值类型即按值传递的数据类型包括:string、number、boolean、null、undefined特点:值类型的名和值存储在同一内存空间中在值类型进行赋值的时候,其实是将其进
hexo 分享一个快速、简洁且高效的博客框架 你看到的这个博客就是通过以下方式搭建的 安装 hexo安装前的准备 hexo 是依赖于 Node 和 Git 环境运行的 所有在安装 hexo 之前先安装: Node Git npm 全局工具安装 安装好 Node 和 Git
123456789101112131415161718192021222324252627282930313233343536373839404142# 用户信息配置git config --global user.name "username"git config --glob
基本选择器 类选择器 .class id 选择器 #id 标签选择器 div 通配符 * 关系选择器 并集选择器 div, p, ul, li 后代选择器 ul li 选择<ul>元素内的所有<li>元素12345678910<
字体图标 引用字体包 12345678@font-face { font-family: 'font-name'; /*引入字体文件 不同的浏览支持的字体文件的格式不一样*/ src: url(fonts/MiFie-Web-Fo
1、历史管理 history对象 history.back(); // 后退 history.forward(); // 前进 history.go(n); // 前进/后退n步 history.length; // 历史条数 pushSt
在函数的调用模式中感觉最大的区别就是: this指向 函数调用模式 即通过函数名直接调用的一种方式 this 指向 window demo1234function fn( ){ console.log(this); // -> Window ..
绘制形状流程 创建一个画布 -> <canvas> 设置画布的尺寸 -> width/height 默认尺寸 300 X 150 不带单位 不要在 style 中设置,直接设置属性 选择绘画工具 绘制路径 填充/描边 绘制环境 context 获取绘