js

Three.js 3D特效学习

纵饮孤独 提交于 2020-04-06 17:46:00
一、Three.js基本介绍 Three.js是JavaScript编写的WebGL第三方库。提供了非常多的3D显示功能。Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。你可以在它的 主页 上看到许多精采的演示。不过,这款引擎目前还处在比较不成熟的开发阶段,其不够丰富的 API 以及匮乏的文档增加了初学者的学习难度(尤其是文档的匮乏,基本没有中文的)Three.js的代码托管在github上面。 二、基本 Demo 1.最基本的Hello World: http://stemkoski.github.io/Three.js/HelloWorld.html 2.在网页上调用摄像头: http://stemkoski.github.io/Three.js/Webcam-Texture.html 3.体感操作: http://stemkoski.github.io/Three.js/Webcam-Motion-Detection-Texture.html 4.支持游戏手柄: http://stemkoski.github.io/Three.js/Mesh-Movement-Gamepad.html 5.3D建模和方向键控制移动方向: http://stemkoski.github.io/Three.js/Model

JavaScript(1) -- JS入门

拟墨画扇 提交于 2020-04-06 17:44:45
1. JavaScript介绍 JavaScript是属于HTML与Web的解释性编程语言,也是一种以函数优先的弱类型轻量级的脚本语言,无需进行预编译即可与HTML前端页面进行行为交互,支持跨平台运行,可在多种平台下(如Windows、Linux、Mac、Android、iOS等)。目前JavaScript被广泛地应用于Web前端Html实现页面交互、实现浏览器页面事件响应、前端数据验证、检验访客浏览器信息、控制cookies的创建与修改、基于Node.js技术进行服务器端编程。 2. JavaScript基本语法 2.1. JavaScript的三种定义方式 JS一般有三种定义的方式: ① 写在<a>标签的href属性内; ② 写在<script>标签内; ③ 单独写一个JS文件,使用外连的方式引入; 下面直接给出代码示例以区分这三种方式的不同: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="UTF-8"> <title>三种JS的写法</title> <!--第二种写法:写在script代码块中--> <script type="text/javascript">

图片无缝滚动js

萝らか妹 提交于 2020-04-06 13:36:15
原文出处 http://www.codefans.net/jscss/code/2964.shtml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>图片无缝滚动</title> <script type="text/javascript" src="http://www.codefans.net/ajaxjs/jquery-1.6.2.min.js"></script> <style type="text/css"> *{ margin:0; padding:0;} #box{ border:1px #ccc solid; width:600px; height:200px; overflow:hidden;margin:100px auto 0; position:relative;} #div{ width:2400px; position

JavaScript模块化-CommonJS、AMD、CMD、UMD、ES6

杀马特。学长 韩版系。学妹 提交于 2020-04-06 11:06:05
前言:模块化开发需求 在JS早期,使用script标签引入JS,会造成以下问题: 加载的时候阻塞网页渲染,引入JS越多,阻塞时间越长。 容易污染全局变量。 js文件存在依赖关系,加载必须有顺序。项目较大时,依赖会错综复杂。 引入的JS文件过多,不美观,且不易于管理。 一、CommonJS规范 CommonJS Modules/1.0规范,服务器端规范。 Node.js推广使用。该规范的核心是:允许模块使用require方法来同步加载所依赖的其他模块,然后通过exports或module.exports导出需要暴露的接口。 特点: 一个模块是一个文件 使用module.exports或exports导出模块 // module.js exports.add = (a, b) => a+b module.exports = { add: (a, b) => a + b } 使用require加载模块 a. require命令第一次加载模块时,执行整个脚本,在内存中生成对象 b. 多次执行require命令再次加载该模块时,不会再执行该脚本,直接从缓存中取值 c. CommonJS加载模块是同步加载模块 Tips: 为什么CommonJS规范不适合作为浏览器的规范 由于CommonJS是同步加模块,在服务端加载模块时都是从本地硬盘中加载,读取速度很快。但是在浏览器端加载模块时

js对象、数组转换字符串

佐手、 提交于 2020-04-06 08:10:20
对象转换成字符串需要使用toString()方法。 1 var a = function(){ 2 console.log(111); 3 }; 4 var b = a.toString(); 5 console.log(a); 函数式的function 6 console.log(b); 字符串function 7 console.log(typeof a); >>function 8 console.log(typeof b); >>string 数组转换字符串 1.0 1 var a = [1,2,3]; 2 var b = a.toString(); 3 console.log(a); >>[1,2,3] 4 console.log(b); >>"1,2,3" 当我们进行与原始值比较的时候,它们会自动调用toString方法。(+,-,!=,==都会进行转换。) 数组转换字符串 2.0 1 // var a = [1,2,3]; 2 // console.log(a.join()); >>1,2,3 toString()与join()的比较 1 // var a = [1,2,3]; 2 // console.log(a.join()); >>1,2,3 3 // console.log(a.toString()); >>1,2,3 4 // console.log(a

堆排序原理及其js实现

送分小仙女□ 提交于 2020-04-06 07:56:12
图文来源:https://www.cnblogs.com/chengxiao/p/6129630.html 堆排序是利用 堆 这种数据结构而设计的一种排序算法,堆排序是一种 选择排序, 它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆排序是利用 堆 这种数据结构而设计的一种排序算法,堆排序是一种 选择排序, 它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆     堆是具有以下性质的 完全二叉树 :每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图: 同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子 该数组从逻辑上讲就是一个堆结构,我们用简单的公式来描述一下堆的定义就是: 大顶堆:arr[i] >= arr[2i+1] && arr[i] >= arr[2i+2] 小顶堆:arr[i] <= arr[2i+1] && arr[i] <= arr[2i+2] 接下来,我们来看看堆排序的基本思想及基本步骤: 堆排序基本思想及步骤 堆排序的基本思想是:将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n

【05】js异步编程理解

时光总嘲笑我的痴心妄想 提交于 2020-04-06 07:07:23
1.概念 同步:一个任务等待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序是一致的、同步的。异步:每一个任务有一个或多个回调函数(callback),前一个任务结束后,不是执行后一个任务,而是执行回调函数,后一个任务则是不等前一个任务结束就执行,所以程序的执行顺序与任务的排列顺序是不一致的、异步的。 案例分析: 欣多多去火车票代售窗口买票,现在该欣多多购票了,欣多多后面是小王珂,他也等着买票。 同步解析: 欣多多:买一张明天到大理的火车票 售票MM:对不起,明天到大理的火车票已经没有了 欣多多:啊!居然没有了,你等我一下,我打电话问问我女朋友,改买多久的票。 (此时,售票员什么事情都做不了,只得等我打完电话,而我背后的小王珂变得非常的焦躁,心中:“我靠,耽误我时间,浪费我青春,你难道就不知道去一边打电话吗?等我买了票,你差不多也打完了。”) 30秒过去了..... 欣多多:美女,那就换一张后天到大理的火车票吧。 售票MM:好的,给你。 小王珂:买一张去源码时代的火车票,我要去学Web前端. 异步解析 欣多多:买一张明天到大理的火车票 售票MM:对不起,明天到大理的火车票已经没有了 欣多多:好吧,那我先打电话问问我女朋友,问好后,我在跟你说。(一个小的举动,从售票窗口让开) 小王珂:买一张去源码时代的火车票,我要去学Web前端. 售票MM:好的,给你。 ..... ...

Gulp前端自动化构建工具

若如初见. 提交于 2020-04-06 06:55:15
为什么使用Gulp Gulp自动化构建工具可以增强你的工作流程! 易于使用、易于学习、构建快速、插件高质! 在日常开发中,可以借助Gulp的一些插件完成很多的前端任务。 如:代码的编译(sass、less)、压缩css,js、图片、合并js,css、es6转es5、自动刷新页面等 gulp中文官网 : https://www.gulpjs.com.cn/ 插件地址 : https://gulpjs.com/plugins/ 使用Gulp 1、全局安装gulp cnpm install gulp -g (只需要安装一次) 2、gulp安装的版本 gulp -v 3、在你当前的文件夹内建立Gulp项目 cd 文件夹 4、对当前项目初始化 cnpm init 要求配置一些信息 生成一个package.json 文件保存,当前这个项目中关于gulp的所有配置信息 5、本地安装gulp(一个项目安装一次) cnpm install gulp --save-dev --save 将这个软件安装到当前目录下 -dev 保留安装信息在package.json里 简写: cnpm i gulp -D cnpm i gulp@3.9.1 -D 多出一个文件夹 node_modules 存储着,我们安装的所有文件。 6、新建文件 gulpfile.js 主要目的为了给我们gulp发布任务

复制到剪贴板的js代码(兼容ie、firefox、chorme、safari...什么都兼容!)

£可爱£侵袭症+ 提交于 2020-04-06 05:55:11
对于非ie浏览器他是用flash来实现的,js代码如下: < script type = " text/javascript " > function copy_code(copyText) { if (window.clipboardData) { window.clipboardData.setData( " Text " , copyText) } else { var flashcopier = ' flashcopier ' ; if ( ! document.getElementById(flashcopier)) { var divholder = document.createElement( ' div ' ); divholder.id = flashcopier; document.body.appendChild(divholder); } document.getElementById(flashcopier).innerHTML = '' ; var divinfo = ' <embed src="../js/_clipboard.swf" FlashVars="clipboard= ' + encodeURIComponent(copyText) + ' " width="0" height="0" type="application/x

如何可以使用crypto-js

梦想的初衷 提交于 2020-04-06 02:12:54
尝试了github上的https://github.com/brix/crypto-js 学了用npm安装包https://www.runoob.com/nodejs/nodejs-npm.html 看了好多遍README.md 搞得心力憔悴,两三个小时,就是不能跑。最后找到这篇博客https://blog.csdn.net/weixin_43953753/article/details/86018134,一下子解决了。 总之,在你的html文件里直接加上下面这行代码 <script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script> 然后就可以快乐地使用crypto-js内置的各种加密算法了。 来源: https://www.cnblogs.com/hardcoreYutian/p/12640229.html