js代码

腾讯全球首款JS代码坦克 CodeTank

牧云@^-^@ 提交于 2020-01-07 08:23:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 欢迎来到 CodeTank 的世界,将会带你进入一个神奇而充满挑战的代码机器人的世界! CodeTank(代码坦克)是全世界首个Javascript程序员的编程游戏,是由腾讯 AlloyTeam 和 HTML5 梦工场联合出品的在线坦克仿真游戏平台,CodeTank 采用 HTML5、Javascript、CSS3、NodeJS、MongoDB 等全新 Web 技术来构建一个基于互联网的在线智能坦克机器人战斗仿真引擎,相信每一个男人的内心深处,都有一份对坦克的特殊情结,而用Javascript代码来直接控制坦克进行战斗更是会让广大程序员热血沸腾的事情! CodeTank 代码坦克介绍 CodeTank是一个非常有趣的竞赛性编程游戏平台,通过几行简单的Javascript代码和CodeTank API,每个人都可以方便的构建属于自己富有智能和个性的坦克(Tank)机器人,并通过互联网进行在线互动和竞赛! CodeTank是 Code Game(代码游戏,也叫编程游戏)的一种,可以让你在娱乐的同时学习和提高Javascript编程水平以及进行人工智能的研究。它使用HTML5、CSS3等Web新技术构建的在线平台,天然的基于互联网,Tank机器人的代码不需要人工上传下载,可以直接在线运行与其他选手进行战斗。

JavaScript 入门(01)语法基础

风流意气都作罢 提交于 2020-01-07 01:24:43
JS简介 一、JS组成:ECMA BOM DOM js 是一种基于 对象模型 和 事件驱动 的脚本语言, js组成 ECMAScript由ECMA-262定义,提供核心语言功能; 文档对象模型(DOM),提供访问和操作网页内容的方法和接口; 浏览器对象模型(BOM),提供与浏览器交互的方法和接口; 二、html 中使用 javascript html是从上往下瀑布式加载, <script> 包裹的 js 代码也是从上往下依次加载的; 一般应该把 <script> 放在页面最后(body的最后面),越晚加载越好,有利于提升网页的响应速度; 1、script 标签的 async 和 defer 属性 通过 src 引用外部的脚本时,script 标签的 async 和 defer 属性都会让脚本的加载不会阻塞 dom 的渲染; async 是异步加载和执行脚本,不能保证脚本执行的顺序和执行时机(不一定在 dom 渲染完成后),所以 async 适用于脚本对 dom 和其他脚本没有依赖的情况使用; defer 属性能够保证脚本执行的时机是在 dom 渲染完成后,还能保证脚本的执行顺序是正常的从上往下执行,所以这种模式是比较可靠的,用 defer 比 async 更稳; JS语法基础 一、基本特点 区分大小写; 标识符字母、数字、下划线和 美元符 组成,数字不能开头; 单行和多行注和

JS高级---函数中的this的指向,函数的不同调用方式

点点圈 提交于 2020-01-06 22:02:09
函数中的this的指向 普通函数中的this是谁?-----window 对象.方法中的this是谁?----当前的实例对象 定时器方法中的this是谁?----window 构造函数中的this是谁?-----实例对象 原型对象方法中的this是谁?---实例对象 //严格模式: "use strict";//严格模式 function f1() { console.log(this);//window } f1() 函数的不同调用方式 //普通函数 function f1() { console.log("文能提笔控萝莉"); } f1(); //构造函数---通过new 来调用,创建对象 function F1() { console.log("我是构造函数,我骄傲"); } var f=new F1(); //对象的方法 function Person() { this.play=function () { console.log("玩代码"); }; } var per=new Person(); per.play(); 来源: https://www.cnblogs.com/jane-panyiyun/p/12157844.html

web基础(3): JavaScript 简介/语法

只愿长相守 提交于 2020-01-06 21:29:32
chapter4 JS简介 JS 可以实现表单验证(比如填写简历时,必要的项目是否已经填写)、返回顶部、小游戏、网页特效等。 JS是一种运行于JavaScript解释器/引擎中的 解释型的 脚本语言。 什么是 解释型语言 ??:运行前不需要编译的,也不会检查错误,直到遇到错误为止。 相对的是 编译型语言 :对源码进行编译,还能检查语法错误(C、C++) 编译程序指将某一种程序设计语言写的程序翻译成等价的另一种语言的程序的程序, 称之为编译程序。编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。 (一)JS的运行环境 1. 独立安装的JS解释器(NodeJS); 2. 嵌入在浏览器内核中的JS解释器 : 在浏览器中按下F12,调出控制台,在控制台的console位置直接可以输入代码,并直接在浏览器中进行输出。 JS的应用场合:PC、手机、平板、机顶盒。 (二)JS的组成 (三个部分) 1. 核心(ECMAScript); 2. 文档对象模型(DOM document object model) 让JS有能力与网页进行对话; 3. 浏览器对象模型(BOM brower object model) 让JS有能力与浏览器对话。

python3调用微软js引擎ChakraCore

佐手、 提交于 2020-01-06 15:40:34
有关ChakraCore介绍请移步: https://github.com/Microsoft/ChakraCore 使用案例GitHub源码: https://github.com/pyAppman/ChakraCore 本文主要讲下python调用ChakraCore.dll 参考文献有: https://xz.aliyun.com/t/2450 以及 https://bbs.125.la/forum.php?mod=viewthread&tid=14495171&highlight=ChakraCore python是解释性语言,网上能搜到的基本都是C、C#、C++、易语言的ChakraCore使用,并没有python使用方法,参考了上面大佬们的相关介绍使用以及官方文档,写了如下可以成功调用的python例子。之所以写这个是因为:第一,暂目前python用于执行js的工具有node,pyv8,js2py,windows系统下的com组件,node性能不好,v8不够全安装费劲不说,对python2更友好,js2py运行小js还可以,大了就不行了,com不够全面比不上node内置的js函数,也不能跨平台,ChakraCore综合了node的全面跟v8的性能,还能跨平台。第二、网上也有不少关于ChakraCore的文章,但是没有python的,而易语言,C,C+

js高级进阶之高阶函数篇

只愿长相守 提交于 2020-01-06 14:43:58
学会高阶函数是每一个前端开发者走向高级阶段的必经之路,虽然你可以在业务代码中不去使用,但你总需要去读懂别人的代码吧,如果你不熟悉这些高阶使用方法,必然会遭到鄙视嘲笑,甚至强行复制粘切不明大意的胡乱修改会带来灾难性的后果,当然学习高阶函数也不仅仅是要去使用几个高阶函数方法,最主要的是领略其设计思想,为自己之后写出牛逼点的代码做基础。 高阶函数概念 一等函数 您可能听说过JavaScript将函数视为一等公民。那是因为在JavaScript或任何其他函数式编程语言中,函数是对象。 在JavaScript中,函数是一种特殊类型的对象。他们是Function对象。 在JavaScript中,您可以使用其他类型(如对象,字符串或数字)执行的所有操作函数都可以执行。您可以将它们作为参数传递给其他函数(回调函数),将它们分配给变量并传递它们等等。这就是JavaScript中的函数被称为First-Class函数(一等函数)的原因。 与之相对应的就是: 高阶函数 高阶函数是对其他函数进行操作的函数,可以将它们作为参数或通过返回它们。简单来说,高阶函数是一个函数,它接收函数作为参数或将函数作为输出返回。 js中常见的高阶函数 map 定义:map()方法定义在JavaScript的Array中,它返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。 注意: map()不会对空数组进行检测

web前端开发图文全面解析

牧云@^-^@ 提交于 2020-01-06 14:11:41
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前端是什么? 在回答这个问题之前,我想到了一道面试题: 当我们在浏览器中输入网址并按回车之后,接下来会发生什么? 我们来简单地看一看 “网页展现” 的整个过程。 比如这里有一个用户,它需要访问 abc.com 这个网址。一般来说,当用户输入一个域名时,是在请求一个 HTML 资源。当他完成域名解析之后,他的浏览器会向 abc.com 这个域名所指向的 Web 服务器发出请求。 有时候 Web 服务器直接就可以返回用户的请求了;有时候 Web 服务器还需要向数据库查询一些数据,然后才能把处理结果返回给用户。 当用户的浏览器拿到服务器返回的 HTML 资源之后,就开始解析并显示 HTML 的内容了。 一般来说,HTML 页面需要 CSS 资源来描述页面的样式。比如浏览器在解析 HTML 时发现了一个 CSS 外链 abc.com/a.css ,它就会去请求这个资源。 HTML 页面往往还需要加载外部的 JS 资源,比如 abc.com/a.js ,此时浏览器同样会向服务器请求这个资源。 当所需的资源都加载完成之后,这个页面就可以提供完整的外观和功能了。整个过程差不多就是这个样子了。 我们看一看这张流程图,可以在中间画一道竖线,把它分成左右两个部分。 我们会发现,这道线左侧的事情发生在浏览器端,我们称之为 “前端”

Cordova原理一

纵饮孤独 提交于 2020-01-06 06:20:18
我们知道cordova中js要和native通信都是通过 cordova plugin来实现的。如果我们自己创建一个cordova plugin,它其实就是几个独立的文件按照一定的目录结构放在一起,然后用户自己去手动配置plugin.xml文件(这个文件也要放在plugin中),之后我们利用cordova plugin add 命令来安装一个plugin到对应的工程中(plugin的安装和使用会有专门的文章来阐述)。安装后的plugin如何和现在工程融合的呢?这就是我们这里要详细阐述的。 1. 调用插件的流程(ionic2是用TypeScript来实现js的) ts先利用cordova plugin里提供的接口,调用插件的js代码,这就是流程一。在流程二里是插件js调用插件的native代码。在流程三中,插件native接收到插件js发过来的请求(方法调用),插件native实现相应的功能后,把相应结果返回给ts。如果仅仅是这张图,其实我们在整个过程都看不到cordova到底干了什么事情。为了让大家更明白cordova的作用,我们在上述的流程图里加入了cordova的部分。 这张图很像我前面分享的mvp架构图(http://www.cnblogs.com/StephenWu/p/5680053.html)。可以看到,我们上面的三个流程中都有cordova的身影

js无缝滚动

假如想象 提交于 2020-01-06 04:54:56
1.html代码 <div class="box"> <ul> <li class="show"><img src="images/1.jpg"></li> <li><img src="images/2.jpg"></li> <li><img src="images/3.jpg"></li> <li><img src="images/4.jpg"></li> <li><img src="images/5.jpg"></li> </ul> <ol> <li class="active">1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ol> </div> 2.css代码 <style type="text/css"> body, div, ul ,li, ol{margin:0;padding:0;} img{border:none;vertical-align: top} li{list-style: none} .box{width:470px;height: 150px;margin:30px auto;overflow:hidden;position: relative;} ul{width:470px;height: 150px;position: absolute;left:0;top:0;z-index:1;}

JS 数据类型、赋值、深拷贝和浅拷贝

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-06 03:56:08
js 数据类型 六种 基本数据类型: Boolean. 布尔值,true 和 false. null. 一个表明 null 值的特殊关键字。 JavaScript 是大小写敏感的,因此 null 与 Null、NULL或其他变量完全不同。 undefined. 变量未定义时的属性。 Number. 表示数字,例如: 42 或者 3.14159。 String. 表示字符串,例如:"Howdy" Symbol ( 在 ECMAScript 6 中新添加的类型).。一种数据类型,它的实例是唯一且不可改变的。 以及 Object 对象引用数据类型 大多数情况下,我们可以通过 typeof 属性来判断。只不过有一些例外,比如: var fn = new Function ('a', 'b', 'return a + b') typeof fn // function 关于 function 属不属于js的数据类型,这里也有相关的讨论 JavaScript 里 Function 也算一种基本类型? 基本类型 和 引用数据类型 的相关区别 基本数据类型 我们来看一下 MDN 中对基本数据类型的一些定义: 除 Object 以外的所有类型都是不可变的(值本身无法被改变)。例如,与 C 语言不同,JavaScript 中字符串是不可变的(译注:如,JavaScript