![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
Luckie stone
Android应用开发。
展开
-
JavaScript 用法
HTML 中的脚本必须位于 <script> 与 </script> 标签之间。脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。<script> 标签如需在 HTML 页面中插入 JavaScript,请使用 <script> 标签。<script> 和 </scri...转载 2018-05-26 05:52:51 · 146 阅读 · 0 评论 -
JavaScript 输出
JavaScript 没有任何打印或者输出的函数。JavaScript 显示数据JavaScript 可以通过不同的方式来输出数据:使用window.alert()弹出警告框。 使用document.write()方法将内容写到 HTML 文档中。 使用innerHTML写入到 HTML 元素。 使用console.log()写入到浏览器的控制台。使用 wind...转载 2018-05-26 06:00:06 · 317 阅读 · 0 评论 -
JavaScript 语法
JavaScript 是一个程序语言。语法规则定义了语言结构。JavaScript 语法JavaScript 是一个脚本语言。它是一个轻量级,但功能强大的编程语言。JavaScript 字面量在编程语言中,一般固定值称为字面量,如 3.14。数字(Number)字面量可以是整数或者是小数,或者是科学计数(e)。3.141001123e5字符串(String)字...转载 2018-05-26 06:07:10 · 169 阅读 · 0 评论 -
JavaScript 语句
JavaScript 语句向浏览器发出的命令。语句的作用是告诉浏览器该做什么。JavaScript 语句JavaScript 语句是发给浏览器的命令。这些命令的作用是告诉浏览器要做的事情。下面的 JavaScript 语句向 id="demo" 的 HTML 元素输出文本 "你好 Dolly" :实例document.getElementById("demo").inner...转载 2018-05-26 06:27:26 · 226 阅读 · 0 评论 -
JavaScript 注释
JavaScript 注释可用于提高代码的可读性。JavaScript 注释JavaScript 不会执行注释。我们可以添加注释来对 JavaScript 进行解释,或者提高代码的可读性。单行注释以 // 开头。本例用单行注释来解释代码:实例// 输出标题:document.getElementById("myH1").innerHTML="欢迎来到我的主页";//...转载 2018-05-26 06:28:14 · 505 阅读 · 0 评论 -
JavaScript 变量
变量是用于存储信息的"容器"。实例var x=5;var y=6;var z=x+y;就像代数那样x=5y=6z=x+y在代数中,我们使用字母(比如 x)来保存值(比如 5)。通过上面的表达式 z=x+y,我们能够计算出 z 的值为 11。在 JavaScript 中,这些字母被称为变量。 您可以把变量看做存储数据的容器。 Ja...转载 2018-05-26 06:28:57 · 111 阅读 · 0 评论 -
JavaScript 数据类型
字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。JavaScript 拥有动态类型JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:实例var x; // x 为 undefinedvar x = 5;...转载 2018-05-26 06:29:39 · 139 阅读 · 0 评论 -
JavaScript 对象
JavaScript 对象是拥有属性和方法的数据。真实生活中的对象,属性和方法真实生活中,一辆汽车是一个对象。对象有它的属性,如重量和颜色等,方法有启动停止等:对象 属性 方法 car.name = Fiat car.model = 500 car.weight = 850kg car.color = white ca...转载 2018-05-26 06:30:52 · 525 阅读 · 0 评论 -
JavaScript 函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。实例<!DOCTYPE html><html><head><script>function myFunction(){ alert("Hello World!");}</script></head> <body><button onclick...转载 2018-05-26 06:31:35 · 123 阅读 · 0 评论 -
JavaScript 作用域
作用域可访问变量的集合。JavaScript 作用域在 JavaScript 中, 对象和函数同样也是变量。在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。JavaScript 函数作用域: 作用域在函数内修改。JavaScript 局部作用域变量在函数内声明,变量为局部作用域。局部变量:只能在函数内部访问。实例// 此处不能调用 carN...转载 2018-05-26 06:32:09 · 351 阅读 · 0 评论 -
JavaScript 事件
HTML 事件是发生在 HTML 元素上的事情。当在 HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。HTML 事件HTML 事件可以是浏览器行为,也可以是用户行为。以下是 HTML 事件的实例:HTML 页面完成加载 HTML input 字段改变时 HTML 按钮被点击通常,当事件发生时,你可以做些事情。在事件触发时 Ja...转载 2018-05-27 07:02:51 · 404 阅读 · 0 评论 -
JavaScript 字符串
JavaScript 字符串用于存储和处理文本。JavaScript 字符串字符串可以存储一系列字符,如 "John Doe"。字符串可以是插入到引号中的任何字符。你可以使用单引号或双引号:实例var carname = "Volvo XC60";var carname = 'Volvo XC60';你可以使用索引位置来访问字符串中的每个字符:实例var char...转载 2018-05-27 07:03:04 · 137 阅读 · 0 评论 -
JavaScript 运算符
运算符 = 用于赋值。运算符 + 用于加值。运算符 = 用于给 JavaScript 变量赋值。算术运算符 + 用于把值加起来。实例指定变量值,并将值相加:y=5;z=2;x=y+z;在以上语句执行后,x的值是:7JavaScript 算术运算符<p算术运算符用于执行变量与 或值之间的算术运算。="" <="" p="" sty...转载 2018-05-27 07:03:13 · 260 阅读 · 0 评论 -
JavaScript 比较 和 逻辑运算符
比较和逻辑运算符用于测试true或者false。比较运算符比较运算符在逻辑语句中使用,以测定变量或值是否相等。<p给定x=5,下面的表格解释了比较运算符:运算符 描述 比较 返回值 实例 == 等于 x==8 false 实例 » x==5 true 实例 » === 绝对等于(值和类型...转载 2018-05-27 07:03:21 · 124 阅读 · 0 评论 -
JavaScript if...Else 语句
条件语句用于基于不同的条件来执行不同的动作。条件语句通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。在 JavaScript 中,我们可使用以下条件语句:if 语句- 只有当指定条件为 true 时,使用该语句来执行代码 if...else 语句- 当条件为 true 时执行代码,当条件为 false 时执行其他代码 if.....转载 2018-05-27 07:03:32 · 265 阅读 · 0 评论 -
JavaScript switch 语句
switch 语句用于基于不同的条件来执行不同的动作。JavaScript switch 语句请使用 switch 语句来选择要执行的多个代码块之一。语法switch(n){ case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: 与 case 1 和 case 2 不同时执行的代码}工作原理:首先设置表达式n(通常是一个...转载 2018-05-27 07:03:40 · 546 阅读 · 0 评论 -
JavaScript for 循环
循环可以将代码块执行指定的次数。JavaScript 循环如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。我们可以这样输出数组的值:一般写法:document.write(cars[0] + "<br>"); document.write(cars[1] + "<br>"); document.write(cars[2]...转载 2018-05-27 07:03:48 · 379 阅读 · 0 评论 -
JavaScript while 循环
只要指定条件为 true,循环就可以一直执行代码块。while 循环while 循环会在指定条件为真时循环执行代码块。语法while (条件){需要执行的代码}实例本例中的循环将继续运行,只要变量 i 小于 5:实例while (i<5){ x=x + "The number is " + i + "<br>"; i++;}...转载 2018-05-27 07:03:56 · 489 阅读 · 0 评论 -
JavaScript第三方开源库underscore
前面我们已经讲过了,JavaScript是函数式编程语言,支持高阶函数和闭包。函数式编程非常强大,可以写出非常简洁的代码。例如Array的map()和filter()方法:'use strict';var a1 = [1, 4, 9, 16];var a2 = a1.map(Math.sqrt); // [1, 2, 3, 4]var a3 = a2.filter((x) => ...转载 2018-06-10 08:19:32 · 236 阅读 · 0 评论 -
JavaScript第三方开源库underscore集合类Collections
underscore为集合类对象提供了一致的接口。集合类是指Array和Object,暂不支持Map和Set。map/filter和Array的map()与filter()类似,但是underscore的map()和filter()可以作用于Object。当作用于Object时,传入的函数为function (value, key),第一个参数接收value,第二个参数接收key:'...转载 2018-06-10 08:19:38 · 181 阅读 · 0 评论 -
JavaScript第三方开源库underscore工具类操作Array
underscore为Array提供了许多工具类方法,可以更方便快捷地操作Array。first / last顾名思义,这两个函数分别取第一个和最后一个元素:'use strict';var arr = [2, 4, 6, 8];_.first(arr); // 2_.last(arr); // 8flattenflatten()接收一个Array,无论这个Array...转载 2018-06-10 08:19:45 · 306 阅读 · 0 评论 -
JavaScript第三方开源库underscore高阶函数Functions
因为underscore本来就是为了充分发挥JavaScript的函数式编程特性,所以也提供了大量JavaScript本身没有的高阶函数。bindbind()有什么用?我们先看一个常见的错误用法:'use strict';var s = ' Hello ';s.trim();// 输出'Hello'var fn = s.trim;fn();// Uncaught T...转载 2018-06-10 08:19:55 · 161 阅读 · 0 评论 -
JavaScript第三方开源库underscore之Objects
和Array类似,underscore也提供了大量针对Object的函数。keys / allKeyskeys()可以非常方便地返回一个object自身所有的key,但不包含从原型链继承下来的:'use strict';function Student(name, age) { this.name = name; this.age = age;}var xi...转载 2018-06-10 08:20:03 · 145 阅读 · 0 评论 -
JavaScript第三方开源库underscore之Chaining
还记得jQuery支持链式调用吗?$('a').attr('target', '_blank') .append(' <i class="uk-icon-external-link"></i>') .click(function () {});如果我们有一组操作,用underscore提供的函数,写出来像这样:_.filter(_....转载 2018-06-10 08:20:09 · 128 阅读 · 0 评论 -
Node.js
从本章开始,我们就正式开启JavaScript的后端开发之旅。Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已经是前端开发的唯一标准。后来,微软通过IE击败了Netscape后一统桌面,结果几年时间,浏览器毫无进步。(2001年推出的古老的IE 6到今天仍然有人在使用!)...转载 2018-06-10 08:20:20 · 635 阅读 · 0 评论 -
安装Node.js和npm
由于Node.js平台是在后端运行JavaScript代码,所以,必须首先在本机安装Node环境。安装Node.js目前Node.js的最新版本是7.6.x。首先,从Node.js官网下载对应平台的安装程序,网速慢的童鞋请移步国内镜像。在Windows上安装时务必选择全部组件,包括勾选Add to Path。安装完成后,在Windows环境下,请打开命令提示符,然后输入node -...转载 2018-06-10 08:20:31 · 510 阅读 · 0 评论 -
第一个Node程序
在前面的所有章节中,我们编写的JavaScript代码都是在浏览器中运行的,因此,我们可以直接在浏览器中敲代码,然后直接运行。从本章开始,我们编写的JavaScript代码将不能在浏览器环境中执行了,而是在Node环境中执行,因此,JavaScript代码将直接在你的计算机上以命令行的方式运行,所以,我们要先选择一个文本编辑器来编写JavaScript代码,并且把它保存到本地硬盘的某个目录,才...转载 2018-06-10 08:20:41 · 136 阅读 · 0 评论 -
搭建Node开发环境
使用文本编辑器来开发Node程序,最大的缺点是效率太低,运行Node程序还需要在命令行单独敲命令。如果还需要调试程序,就更加麻烦了。所以我们需要一个IDE集成开发环境,让我们能在一个环境里编码、运行、调试,这样就可以大大提升开发效率。Java的集成开发环境有Eclipse,Intellij idea等,C#的集成开发环境有Visual Studio,那么问题又来了:Node.js的集成开发...转载 2018-06-11 06:22:35 · 303 阅读 · 0 评论 -
模块
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Node环境中,一个.js文件就称之为一个模块(module)。使用模块有什么好处?最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当...转载 2018-06-11 06:22:42 · 110 阅读 · 0 评论 -
基本模块
因为Node.js是运行在服务区端的JavaScript环境,服务器程序和浏览器程序相比,最大的特点是没有浏览器的安全限制了,而且,服务器程序必须能接收网络请求,读写文件,处理二进制内容,所以,Node.js内置的常用模块就是为了实现基本的服务器功能。这些模块在浏览器环境中是无法被执行的,因为它们的底层代码是用C/C++在Node.js运行环境中实现的。global在前面的JavaScri...转载 2018-06-11 06:22:50 · 103 阅读 · 0 评论 -
fs
Node.js内置的fs模块就是文件系统模块,负责读写文件。和所有其它JavaScript模块不同的是,fs模块同时提供了异步和同步的方法。回顾一下什么是异步方法。因为JavaScript的单线程模型,执行IO操作时,JavaScript代码无需等待,而是传入回调函数后,继续执行后续JavaScript代码。比如jQuery提供的getJSON()操作:$.getJSON('http...转载 2018-06-11 06:23:01 · 396 阅读 · 0 评论 -
stream
stream是Node.js提供的又一个仅在服务区端可用的模块,目的是支持“流”这种数据结构。什么是流?流是一种抽象的数据结构。想象水流,当在水管中流动时,就可以从某个地方(例如自来水厂)源源不断地到达另一个地方(比如你家的洗手池)。我们也可以把数据看成是数据流,比如你敲键盘的时候,就可以把每个字符依次连起来,看成字符流。这个流是从键盘输入到应用程序,实际上它还对应着一个名字:标准输入流(st...转载 2018-06-11 06:23:10 · 1497 阅读 · 0 评论 -
http
Node.js开发的目的就是为了用JavaScript编写Web服务器程序。因为JavaScript实际上已经统治了浏览器端的脚本,其优势就是有世界上数量最多的前端开发人员。如果已经掌握了JavaScript前端开发,再学习一下如何将JavaScript应用在后端开发,就是名副其实的全栈了。HTTP协议要理解Web服务器程序的工作原理,首先,我们要对HTTP协议有基本的了解。如果你对HTT...转载 2018-06-11 06:23:17 · 95 阅读 · 0 评论 -
crypto
crypto模块的目的是为了提供通用的加密和哈希算法。用纯JavaScript代码实现这些功能不是不可能,但速度会非常慢。Nodejs用C/C++实现这些算法后,通过cypto这个模块暴露为JavaScript接口,这样用起来方便,运行速度也快。MD5和SHA1MD5是一种常用的哈希算法,用于给任意数据一个“签名”。这个签名通常用一个十六进制的字符串表示:const crypto =...转载 2018-06-11 06:23:23 · 1122 阅读 · 0 评论 -
Web开发
最早的软件都是运行在大型机上的,软件使用者通过“哑终端”登陆到大型机上去运行软件。后来随着PC机的兴起,软件开始主要运行在桌面上,而数据库这样的软件运行在服务器端,这种Client/Server模式简称CS架构。随着互联网的兴起,人们发现,CS架构不适合Web,最大的原因是Web应用程序的修改和升级非常迅速,而CS架构需要每个客户端逐个升级桌面App,因此,Browser/Server模式开始...转载 2018-06-11 06:23:28 · 1317 阅读 · 0 评论 -
koa
koa是Express的下一代基于Node.js的web框架,目前有1.x和2.0两个版本。历史1. ExpressExpress是第一代最流行的web框架,它对Node.js的http进行了封装,用起来如下:var express = require('express');var app = express();app.get('/', function (req, re...转载 2018-06-11 06:23:37 · 775 阅读 · 0 评论 -
koa入门
创建koa2工程首先,我们创建一个目录hello-koa并作为工程目录用VS Code打开。然后,我们创建app.js,输入以下代码:// 导入koa,和koa 1.x不同,在koa2中,我们导入的是一个class,因此用大写的Koa表示:const Koa = require('koa');// 创建一个Koa对象表示web app本身:const app = new Koa(...转载 2018-06-11 06:23:44 · 340 阅读 · 0 评论 -
处理URL
在hello-koa工程中,我们处理http请求一律返回相同的HTML,这样虽然非常简单,但是用浏览器一测,随便输入任何URL都会返回相同的网页。正常情况下,我们应该对不同的URL调用不同的处理函数,这样才能返回不同的结果。例如像这样写:app.use(async (ctx, next) => { if (ctx.request.path === '/') { ...转载 2018-06-12 06:32:29 · 364 阅读 · 0 评论 -
使用Nunjucks
NunjucksNunjucks是什么东东?其实它是一个模板引擎。那什么是模板引擎?模板引擎就是基于模板配合数据构造出字符串输出的一个组件。比如下面的函数就是一个模板引擎:function examResult (data) { return `${data.name}同学一年级期末考试语文${data.chinese}分,数学${data.math}分,位于年级第${d...转载 2018-06-12 06:32:37 · 2236 阅读 · 0 评论 -
使用MVC
MVC我们已经可以用koa处理不同的URL,还可以用Nunjucks渲染模板。现在,是时候把这两者结合起来了!当用户通过浏览器请求一个URL时,koa将调用某个异步函数处理该URL。在这个异步函数内部,我们用一行代码:ctx.render('home.html', { name: 'Michael' });通过Nunjucks把数据用指定的模板渲染成HTML,然后输出给浏览器,...转载 2018-06-12 06:32:43 · 308 阅读 · 0 评论