分类 JaveScript 下的文章

electron主进程与渲染进程通信,webview与其加载页间的通信

1:进程间通信

进程间通信使用 ipcMain与ipcRenderer模块,参考:https://www.w3cschool.cn/electronmanual/electronmanual-ipc-main.html ;      https://www.w3cschool.cn/electronmanual/electronmanual-ipc-renderer.html

在主进程使用ipcMain

渲染进程ipcRenderer

在主进程也可以使用以下方式发送消息:mainWindow.webContents.send('saveMessage','delect',index,innerIndex)

webContents从主进程向渲染进程发送消息,查看更多 https://www.w3cschool.cn/electronmanual/electronmanual-web-contents.html .

以下为webContents的send()官方使用介绍

webContents.send(channel\[, arg1\]\[, arg2\]\[, ...\])

channel String

arg (可选)

通过 channel 发送异步消息给渲染进程,你也可发送任意的参数.参数应该在 JSON 内部序列化,并且此后没有函数或原形链被包括了.

渲染进程可以通过使用 ipcRenderer 监听 channel 来处理消息.

例子,从主进程向渲染进程发送消息 :

主进程:

在渲染进程:

2:使用webview控件加载页面时,webview所在页面与被加载页面间的通信

阅读全文

浅谈 JavaScript

在 JavaScript 中,作用域、上下文、闭包、函数等算是精华中的精华了。对于初级 JSer 来说,是进阶必备。对于前端攻城师来说,只有静下心来,理解了这些精华,才能写出优雅的代码。本书旨在总结容易忘记的重要知识,不会讲基本的概念,通过实际例子,来指导读者了解这门功能强大的开发语言。

前端初级工程师必学,非常实用的 JavaScript 开发指导。

学习本书前,需要对 HTML、CSS 有一定的了解。

鸣谢:http://my.oschina.net/os2015/blog/484017

在 C# 和 Java 语言中,面向对象是以类的方式实现的,特别是继承这个特性,类的方式继承表现出了强大的功能,而且也易于学习。JavaScript 不是纯的面向对象的语言,而是基于对象的语言,对象的继承是以原型函数的形式继承的,很多初学者刚开始接触的时候不太理解,但是 JavaScript 这种以原型函数的形式实现面向对象技术,不仅是可行的,而且还为面向对象技术提供了动态继承的功能,本文主要讨论了 JavaScript 的面向对象技术。

每个 JavaScript 对象都有原型对象,对象都继承原型对象的所有属性。一个对象的原型是由创建该对象的构造函数定义的。JavaScript 的所有函数都有一个名为 prototype 的属性,该属性引用了原型对象,该原型对象初始化的时候只有 constructor 属性来引用创建该原型对象的对象。JavaScript 没有 Class 定义类的概念,构造函数就定义了类,并初始化类中的属性,每个类的成员都会从原型对象中继承相同的属性,也就是说,原型对象提供了类的实例共享的属性和方法,这就节约了内存。

阅读全文

深度解析 ECMAScript 6

ECMAScript 6 简称 “ES6”,ES6 包含了很多新的语言功能,且这些语言功能使得 JavaScript 更加强大更富有表现力。下面我们将会一步步介绍 ES6 新增的那些功能。本书作者幽默风趣,内容已经做了些许调整,尽量简化了一些语法的表达,但仍有很多细节处需要细细品味。

本书为中级难度,适合已有一定 JavaScript 语言基础的读者,用来了解这门语言的最新发展;也可当作参考手册,查寻新增的语法点。

学习本书前,你需要了解 JavaScript 这门语言。

英文链接:https://hacks.mozilla.org/author/jorendorffmozillacom/

可以点击,弹出新页面

欢迎来到深度探索 ES6!在这个新的周系列里,我们将探索 ECMAScript 6。这是一种 JavaScript 语言即将到来的新版本。ES6 包含了很多新的语言功能,且这些语言功能使得 JS 更加强大更富有表现力。在接下来的几周时间里,我们将会一个一个地了解这些新功能。但是在我们了解细节的东西之前,我们值得花一点时间来讨论一下什么是 ES6 以及你期望能得到什么。

JavaScript 编程语言是由 ECMAScript 名下的 ECMA 进行标准化制定的( ECMA 是和 W3C 一样的标准化组织 )。除此之外,ECMAScript 可如下定义:

其没有定义与 HTML 、CSS 或者 Web API 交互的内容,比如 DOM ( 文档对象模型 )。那些都是在单独的标准中定义的。 ECMAScript 不仅在浏览器环境中的涵盖了 JS 的所有方面,其在非浏览器环境中也涵盖了 JS ,例如 node.js 。

阅读全文

jQuery 参考手册

jQuery 是一种快速简洁的 JavaScript 库,由 John Resig 在 2006 年创建。jQuery 可以简化 HTML 文档遍历、事件处理、动画以及 Ajax 交互,用于快速 Web 开发。

本教程是为想要以简单易懂的方法来学习基本的 jQuery 及其编程概念的软件程序员设计的。本教程将以合适的例子使你对 jQuery 的组件有足够的理解。

在开始学习本教程之前,你应该对 HTML,CSS,JavaScript,文档对象模型(DOM)和任何文本编辑器有一个基本的了解。因为我们要使用 jQuery 开发基于 web 的应用程序,所以如果你对关于互联网和基于 web 的应用程序是如何工作的有一个基本的了解,那对本教程的学习会有一定的帮助。

对于在本教程中给出的大多数示例,你都可以找到 try it 选项,所以你可以现场使用这个选项来执行你的 jQuery 项目,好好享受你的学习吧。

试试使用以下示例中的 try it 选项,在下述样例代码框的右上角 ——

jQuery 是一种快速简洁的 JavaScript 库,由 John Resig 在 2006 年创建,它的理念很好——用更少的代码,实现更多的功能

jQuery 简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互,用于快速 web 开发。

jQuery 是一个 JavaScript 工具包,旨在通过编写更少的代码来简化各种任务。这是 jQuery 支持的重要的核心特性列表 ——

有两种方式来使用 jQuery。

现在你可以把 jQuery 库包括进你的 HTML 文件中,如下所示 ——

这将产生如下所示结果 ——

你可以直接从内容分发网络(CDN)将 jQuery 库包括进你的 HTML 代码中。谷歌和微软为最新的版本提供了内容发布。

阅读全文

JavaScript 秘密花园

JavaScript 秘密花园是一个不断更新,主要关心 JavaScript 一些古怪新奇用法的文档。 对于如何避免常见的错误,难以发现的问题,以及性能问题和不好的实践给出建议。

初学者可以籍此深入了解 JavaScript 的语言特性。

JavaScript 秘密花园不是用来教你 JavaScript。为了更好的理解这篇文章的内容, 你需要事先学习 JavaScript 的基础知识。在 Mozilla 开发者网络中有一系列非常棒的 JavaScript 学习向导

鸣谢:三生石上

JavaScript 中所有变量都是对象,除了两个例外 nullundefined

有很多变通方法可以让数字的字面值看起来像对象。

JavaScript 的对象可以作为哈希表使用,主要用来保存命名的键与值的对应关系。

有两种方式来访问对象的属性,点操作符或者中括号操作符。

两种语法是等价的,但是中括号操作符在下面两种情况下依然有效

译者注JSLint 语法检测工具中,点操作符是推荐做法。

上面的输出结果有 bar undefinedfoo null - 只有 baz 被真正的删除了,所以从输出结果中消失。

JavaScript 不包含传统的类继承模型,而是使用 prototype 原型模型。

由于 JavaScript 是唯一一个被广泛使用的基于原型继承的语言,所以理解两种继承模式的差异是需要一定时间的。

第一个不同之处在于 JavaScript 使用原型链的继承方式。

阅读全文