JS代码信息

运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,不支持键盘输入语句但是拥有更高的运行速度,输出简洁明了 。 点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
浅拷贝和深拷贝的实现 发布于:2020-11-28 14:29 第一题:寻找链表的头节点,每个节点,有 id 和 nextId 两个属性,nextId 表示指向节点 id。 发布于:2020-11-28 12:21 第二题:输出 id 和 level 的映射 定义 根节点的 深度 是 0,子节点的深度是父节点的 深度 + 1 发布于:2020-11-28 13:41 js设计模式-单例模式 发布于:2020-11-27 21:43 frontend written (2) measure 发布于:2020-11-27 21:04 frontend written (1) findFirstNode 发布于:2020-11-27 21:02 设计模式模拟练习 停车场 发布于:2020-11-27 21:14 Queue队列 发布于:2020-11-26 20:33 蓝牙测试~ 发布于:2020-11-26 18:40 手写代码练习---按位操作 | ^ & >> << 发布于:2020-11-26 18:44 bind函数 发布于:2020-11-26 17:14 深拷贝练习 发布于:2020-11-26 14:15 Vue.js 发布于:2020-11-26 14:01 手写代码练习---for ,for in ,for of ,foreach ,map ,reduce 遍历 发布于:2020-11-26 09:28 判断一个整数是否是回文数。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶: 你能不将整数转为字符串来解决这个问题吗? 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/palindrome-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 发布于:2020-11-26 00:14 (2)深拷贝:if else 发布于:2020-11-25 15:54 定义 根节点的 深度 是 0,子节点的深度是父节点的 深度 + 1 发布于:2020-11-25 14:32 寻找链表的头节点,每个节点,有 id 和 nextId 两个属性,nextId 表示指向节点 id。现在请实现一个办法寻找该链表的头节点。 PS. 考虑一下链表环状,以及节点不在链表内等异常情况,出现异常时,打印异常消息即可。 发布于:2020-11-25 14:28 寻找链表的头节点,每个节点,有 id 和 nextId 两个属性,nextId 表示指向节点 id。现在请实现一个办法寻找该链表的头节点。 PS. 考虑一下链表环状,以及节点不在链表内等异常情况,出现异常时,打印异常消息即可。 发布于:2020-11-25 13:46 reduce 发布于:2020-11-25 11:07 面试题9:链表 发布于:2020-11-25 11:06 js数组push压栈操作 发布于:2020-11-25 09:40 斐波那契数列 发布于:2020-11-25 00:24 (1)深拷贝:递归 发布于:2020-11-24 23:48 分页排序 过滤 发布于:2020-11-24 22:55 手动实现Promise的Code 发布于:2020-11-24 18:13 PINK老师2-类的继承extend以及super关键字的使用 发布于:2020-11-25 14:18 PINK老师-创建类和对象 发布于:2020-11-24 15:55 浅拷贝练习 发布于:2020-11-24 14:55 promise 手写 发布于:2020-11-24 10:16 (1)作用域链,细节题 发布于:2020-11-24 00:09 (3)递归:任意两数,累乘。引用 BigInt 内置对象 发布于:2020-11-23 20:02 (3)递归:任意两数,累乘。引用 BigInt 内置对象 发布于:2020-11-23 20:03 面试题 发布于:2020-11-23 19:05 对象嵌套解构 发布于:2020-11-23 15:25 面试题8:JS的继承 发布于:2020-11-23 13:13 面试题1:实现一个批量请求函数 multiRequest(urls, maxNum),要求最大并发数 maxNum,每当有一个请求返回,就留下一个空位,可以增加新的请求,所有请求完成后,结果按照 urls 里面的顺序依次打出。 发布于:2020-11-23 11:32 javascript字符串检测判断否有到中文 发布于:2020-11-23 10:55 数据差分,找出不同 发布于:2020-11-23 10:52 JSONP的实现 发布于:2020-11-23 10:48 解释Promise输出顺序 发布于:2020-11-23 03:12 解释输出结果 发布于:2020-11-23 03:10 EventLoop,解释输出顺序 发布于:2020-11-23 03:05 this指向问题,求outputName()输出结果。 发布于:2020-11-23 03:01 闭包与作用域,经典题 发布于:2020-11-23 01:49 这就是简单的模块化思想 发布于:2020-11-23 00:38 面试题7:实现node内置CommonJS规范 发布于:2020-11-22 23:16 外部变量方式的闭包 发布于:2020-11-22 23:25 return方式的闭包 发布于:2020-11-22 23:10 面试题6:模板引擎的实现原理,实现变量的替换与数组的遍历 发布于:2020-11-22 20:05 [更多]
显示目录

在线运行,Node.js在线编译,支持手机在线编程写代码

简介

Node 是一个让 JavaScript 运行在服务端的开发平台
它让JavaScript 成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言
Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。
Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
它发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。
Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

特性

Node采用一系列“非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之类的资源提供接口。

向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node。该模型以可扩展的方式简化了对慢资源的访问, 直观,易懂。

V8引擎本身使用了一些最新的编译技术。这使得用Javascript这类脚本语言编写出来的代码运行速度获得了极大提升,又节省了开发成本。

对性能的苛求是Node的一个关键因素。 Javascript是一个事件驱动语言,Node利用了这个优点,编写出可扩展性高的服务器。

Node采用了一个称为“事件循环(event loop)”的架构,使得编写可扩展性高的服务器变得既容易又安全。

提高服务器性能的技巧有多种多样。Node选择了一种既能提高性能,又能减低开发复杂度的架构。这是一个非常重要的特性。并发编程通常很复杂且布满地雷。Node绕过了这些,但仍提供很好的性能。

历史

2009年2月,Ryan Dahl在博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库。
2009年5月,Ryan Dahl在GitHub上发布了最初版本的部分Node包,随后几个月里,有人开始使用Node开发应用。
2009年11月和2010年4月,两届JSConf大会都安排了Node.js的讲座。
2010年年底,Node获得云计算服务商Joyent资助,创始人Ryan Dahl加入Joyent全职负责Node的发展。
2011年7月,Node在微软的支持下发布Windows版本。

模块

Node使用Module模块去划分不同的功能,以简化应用的开发。Modules模块有点像C++语言中的类库。每一个Node的类库都包含了十分丰富的各类函数,比如http模块就包含了和http功能相关的很多函数,可以帮助开发者很容易地对比如http,tcp/udp等进行操作,还可以很容易的创建http和tcp/udp的服务器。

要在程序中使用模块是十分方便的,只需要如下:

在这里,引入了http类库,并且对http类库的引用存放在http变量中了。这个时候,Node会在我们应用中搜索是否存在node_modules的目录,并且搜索这个目录中是否存在http的模块。如果Node.js找不到这个目录,则会到全局模块缓存中去寻找,用户可以通过相对或者绝对路径,指定模块的位置,比如:

var myModule = require('./myModule.js');

模块中包含了很多功能代码片断,在模块中的代码大部分都是私有的,意思是在模块中定义的函数方法和变量,都只能在同一个模块中被调用。当然,可以将某些方法和变量暴露到模块外,这个时候可以使用exports对象去实现。

集成开发环境

具备书写JavaScript的IDE均可。普通的记事本也可以进行开发。

应用方向

在几年的时间里,Node.JS逐渐发展成一个成熟的开发平台,吸引了许多开发者。有许多大型高流量网站都采用Node.JS进行开发,此外,开发人员还可以使用它来开发一些快速移动Web框架。

除了Web应用外,NodeJS也被应用在许多方面,本文盘点了NodeJS在其它方面所开发的十大令人神奇的项目,这些项目涉及到应用程序监控、媒体流、远程控制、桌面和移动应用等等。

第一个Node.js程序:Hello World!

脚本模式

以下是我们的第一个Node.js程序:

console.log("Hello World");

保存该文件,文件名为helloworld.js,并通过node命令来执行:

node helloworld.js

程序执行后,正常的话,就会在终端输出Hello World。

交互模式

打开终端,键入node进入命令交互模式,可以输入一条代码语句后立即执行并显示结果,例如:

$ node
> console.log('Hello World!');
Hello World!
由JSRUN为你提供的JS在线工具
        JSRUN提供的JS在线运行,JS 在线编译工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿

皮肤:

运行模式:

嵌入代码 iframe嵌入: