JavaScript 运行原理
最初,JavaScript 只能在 Web 浏览器中运行,但是随着 Node 的出现,现在 JavaScript 也可以在服务端运行。虽然我们可能知道应该在何时何地去使用它, 但是我们真的了解这些脚本执行的背后发生了什么吗?
如果您觉得自己对 JavaScript 引擎有了一些了解的话,可以先给自己鼓个掌,但不要急着关掉本文,我相信阅读完成后您仍 ...
JavaScript图形实例:圆内螺线
数学中有各式各样富含诗意的曲线,螺旋线就是其中比较特别的一类。螺旋线这个名词来源于希腊文,它的原意是“旋卷”或“缠卷”。例如,平面螺旋线便是以一个固定点开始向外逐圈旋绕而形成的曲线。
阿基米德螺线和黄金螺旋线就是典型的螺旋线。下面我们探讨一种典型的螺旋线:圆内螺线。
1.圆 ...
【JavaScript数据结构系列】04-优先队列PriorityQueue
【JavaScript数据结构系列】04-优先队列PriorityQueue
码路工人 CoderMonkey
转载请注明作者与出处
## 1. 认识优先级队列
经典的案例场景:
登机时经济舱的普通队列与头等舱的优先级队列
股票交易时基于时间和价格的成交规则上,量大优先的优先级队列
再用我们打饭的例子:假定规则:饥饿等级0级最高,需要马上进食下 ...
js (JavaScript)函数声明的几种形式及用法
1、函数声明
语法:
function functionName(parameters) {
执行的代码
}
函数声明后不会立即执行,只是在初始化的时候会将函数声明提升,会在我们需要的时候调用到。
2、函数表达式(匿名函数)
语法:
var x = function (a, b) {return a * b};var z = x(4, 3);
以上函数实际上是一个 匿名函数 (函数没有 ...
JavaScript 继承小记
面向对象编程很重要的一个方面,就是对象的继承。A 对象通过继承 B 对象,就能直接拥有 B 对象的所有属性和方法。这对于代码的复用是非常有用的。
大部分面向对象的编程语言,都是通过“类”(class)实现对象的继承。传统上,JavaScript 语言的继承不通过 class(ES6 引入了class 语法),而是通过“原型对象”(prototype) ...
JavaScript动画实例:李萨如曲线
在“JavaScript图形实例:阿基米德螺线”和“JavaScript图形实例:曲线方程”中,我们学习了利用曲线的方程绘制曲线的方法。如果想看看曲线是怎样绘制出来的,怎么办呢?编写简单的动画,就可以展示指定曲线的绘制过程。
1.李萨如曲线
设定李萨如曲线的坐标方程 ...
JavaScript中的this对象指向理解
在JavaScript中,this不是固定不变的,它的指向取决于上下文环境,一般的,认为this指向使用它时所在的对象。主要有以下几类指向:
在方法中,this 表示该方法所属的对象。
如果单独使用,this 表示全局对象。
在函数中,this 表示全局对象。
在函数中,在严格模式下,this 是未定义的(undefined)。
在事件中,this 表示接 ...
JavaScript图形实例:正弦曲线
正弦曲线的坐标方程为:
Y=A*SIN(X) (A为振幅)
1.正弦曲线
在弧度为0~4π的正弦曲线上取360个点,将这些点用线连接起来,可以绘制出正弦曲线。编写如下的HTML代码。
<!DOCTY ...
JavaScript图形实例:正多边形
圆心位于坐标原点,半径为R的圆的参数方程为
X=R*COS(θ)
Y=R*SIN(θ)
在圆上取N个等分点,将这N个点首尾连接N条边,可以得到一个正N边形。
1.正多边形阵列
...
javascript DOM和DOM操作的四种基本方法
在了解了javascript的语言特性后,javascript真正大放光彩的地方来了——这就是javascript DOM
Javascript DOM
DOM(Document Object Model),文档对象模型。
简单的说就是一套操作文档内容的方法。
文档:DOM的D
如果没有document(文档),DOM就无从谈起。当创建了一个网页并把它加载到web浏览器中,DO ...
JavaScript主要特点:
javascript脚本语言的主要特点:
1、解释性:javascript是一种解释语言,源代码不需要经过编译,直接在浏览器上运行时被解释。
2、基于对象:javascripth是一种基于对象的语言,能运用自己已经创建了的对象,
许多功能可以来自于脚本 ...
javascript中字符串比较大小
在JavaScript中可以直接使用【>】或【<】运算符比较两个字符串大小,因为这个时候JS解释器会把字符串转换为ASCII码逐个字符依次比较。
var a = "1.2.2a";
var b = "1.2.2b";
console.log(a > b); // 输出true
console.log(a < b); // 输出false
a = "1.02.1";
b = "1.1";
console.log(a > b); // 输出false
console.log ...
JavaScript图形实例:图形的旋转变换
旋转变换:图形上的各点绕一固定点沿圆周路径作转动称为旋转变换。可用旋转角表示旋转量的大小。
旋转变换通常约定以逆时针方向为正方向。最简单的旋转变换是以坐标原点(0,0)为旋转中心,这时,平面上一点P(x,y) 旋转了θ之后,变成点P’(x,y) ,如图1所示。
&nbs ...
JavaScript数组循环
JavaScript数组循环
一、前言
利用Javascript map(),reduce()和filter()数组方法可以遍历数组。而不是积累起来for循环和嵌套来处理列表和集合中的数据,利用这些方法可以更好地将逻辑组织成功能的构建块,然后将它们链接起来以创建更可读和更易于理解的实现。ES6也提供了一些更好的数组方法,比如.find,.findIndex,.of和for ...
JavaScript的发展史
一、JavaScript发展历程
1. 诞生
JavaScript因互联网而生,紧跟浏览器的发展而发展。
1990年,欧洲核能研究所(CERN)科学家在互联网(Internet)基础上,发明了万维网(World Wide Web),从此可以再网上浏览网页文件。(互联网是线路、协议以及通过TCP、IP协议实现数据电子传输的硬件和软件的集合体。Internet提供 ...
JavaScript图形实例:五角星
1.五角星
在半径为80的圆周上取5个点,用这5个点依次首尾连接画5条线,可以绘制出一个五角星图案。
编写如下的HTML代码。
<!DOCTYPE html>
<head>
<title>五角星(一)</title>
<script type="text/javascript">
function draw(id)
{
...
JavaScript图形实例:圆形图案
在HTML5的Canvas 2D API中,可以调用arc方法绘制圆或圆弧。该方法调用格式为:
context . arc(x, y, radius, startAngle, endAngle, anticlockwise)
其中:(x,y)为圆心坐标,radius为半径,startAngle和endAn ...
HTML+JavaScript画函数图像
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>函数图像绘制工具</title>
<script type="text/javascript" src="js/funcImg.js"></script>
<style>
#div-img {
/* 此决定画布的宽高 */
width: 500px;
height: 500px;
}
#input-controller {
padding: 10px;
ba ...
QML::集成javaScript
集成javaScript
1. QML推荐使用属性绑定和现有的QML元素来创建界面。为了允许执行更高级的行为,QML紧密集成了必要JavaScript代码。
2. QML中提供的JavaScript环境比在网页浏览器中的更严格。
3. 在QML中不可以添加或者修改JavaScript全局对象的成员,因为这样做可能会使用一个没有经过声明的变量,
QML中会抛出一个异常,所 ...
JavaScript中class类的介绍
class的概念
一、我们为什么要用到class类?
因为通过class类来创建对象,使得开发者不必写重复的代码,以达到代码复用的目的。它基于的逻辑是,两个或多个对象的结构功能类似,可以抽象出一个模板,
依照模板复制出多个相似的对象。就像汽车制造商一遍一遍地复用相同的模板来制造大量的汽车车,我们暂且把class理解为一个模 ...