<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>addClassName , removeClassName</title> </head> <body> <div id="div1" class="bb"> div1 </div> <div id=&…
 自调用函数 var name = 'world!'; // console.log(typeof name) (function () { console.log(this.name, name, typeof name, typeof name === undefined) if(typeof name === undefined){ var name = 'a!' console.log('hello ' + name) } else{ var name = 'b!' console.lo…
js中的方法名一般都是首字母小写,其余单词首字母大写的规范. 声明 function 函数名(参数列表) { // 函数体 return 返回值; } 调用 函数名(); (js中花括号喜欢用这种方式,因为在以前的浏览器中会在每行js代码的末尾添加分号,但现在的浏览器一般已经兼容这种写法,但仍保留这种习惯.) 需要注意的是只有在js的函数中声明的对象才具有块级作用域.函数中变量一定要定义,否则就是全局变量. 在解释js的时候,会先将其读入内存进行解释,再一步一步的从上到下的执行代码.js的函数也…
函数的基本格式 function 函数名() { 代码: } 函数的定义和调用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head&…
练习地址:http://www.fgm.cc/learn/lesson2/05.html <script> window.onload = function(){ var oDiv = document.getElementById('div1'); // var oInput1 = document.getElementsByTagName('input')[0].value; // var oInput2 = document.getElementsByTagName('input')[1…
WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite/tunnel three.js的粒子系统 three.js的粒子系统主要是依靠精灵体来创建的,要实现three.js中的粒子系统创建,一般有两种方式. 第一种是在场景中使用很多歌THREE.Sprite创建单个的精灵,这样创建的每一个精灵体,我们都可以单独对它们进行操作,同时我们也可以用一个THR…
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的数据类型可以在脚本页面的生命周期中随意的改变,其他语言则不可. 1.基本类型和引用类型的值     基本类型:指那些保存在栈内存中的简单数据,即这种值完全保存在内存中的一个位置.他们所占据的空间大小是固定的.类型有:Number, Null, Boolean, Undefined, String[其…
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNormalMaterial MeshNormalMaterial是一种不受渲染时使用的颜色影响的材质,它只与自己每一个面从内到外的法向量有关.法向量在webgl中用处十分广泛,光的反射,以及三维图形的纹理映射都与这个有关. 从图中可以看到,网格的每一面渲染的颜色都是不一样的,如果我们想要在物体表面添加法…
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染. WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏. 原生的WebGl比较复杂,主要通过对顶点着色器和片元着色器的操作,来实现渲染,但实…
WebGL three.js学习笔记 6种类型的纹理介绍及应用 本文所使用到的demo演示: 高光贴图Demo演示 反光效果Demo演示(因为是加载的模型,所以速度会慢) (一)普通纹理 计算机图形学中的纹理既包括通常意义上物体表面的纹理即使物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案,所谓的纹理映射就是在物体的表面上绘制彩色的图案. 在three.js中使用纹理可以实现很多不同的效果,但是最基本的就是为网格体的每个像素指定颜色.等同于将一张纹理图片应用在一个几何体的材质上…
目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterator 声明.解构.展开.类型断言 泛型 泛型约束 交叉类型.联合类型 索引类型 映射类型 类型兼容 类型保护.推断 模块和命名空间 装饰器 类装饰器: 函数装饰器: 属性装饰器: 参数装饰器: vue.js 学习笔记3--TypeScript 工具 npm install -g typescript…
目标:恢复或重置密码 反模式:使用明文存储密码 1.存储密码 使用明文存储密码或者在网络上传递密码是不安全的. 如果攻击者截取到你用来插入(或者修改)密码的sql语句,就可以获得密码.     黑客获取密码的方式有很多种: (1)在客户端和服务器端数据库交互的网络线路上接货数据包.比如使用Wireshark黑客软件. (2)在数据库服务器上搜索SQL的查询日志. (3)从服务器或者备份介质上读取数据库备份文件内的数据. 2.验证密码:同上. 3.在Email中发送密码:Email的收发都需要经由…
js学习笔记一:js数据类型   1:基本数据类型       number类型(整数,小数)      String类型          boolean类型        NaN类型其实是一个number类型表示它不是一个       null类型其实也是一个object类型的指代的是空对象的引用       undefined类型表示一个变量没有被初始化 2:引用数据类型      object   如果想知道一个变量所属的数据类型可以用typeof操作符二:数组   1:数组的定义:类似…
1.DOM节点的常用属性(所有节点都支持) nodeType:元素1,属性2,文本3 nodeName:元素标签名的大写形式 nodeValue:元素节点为null,文本节点为文本内容,属性节点为属性值 关系属性:parentNode,childNodes,nextSibling,previousSibling,firstChild,lastChild ownerDocument:文档节点(document对象) 2.操作DOM节点(增/删/改) appendChild(node);给当前节点的…
基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it works? 下面是官网展示的最简单的一个应用实例 1.编写html部分 <div id="flipbook"> <div class="hard"> Turn.js </div> <div class="hard&q…
Hadoop源码学习笔记(2) ——进入main函数打印包信息 找到了main函数,也建立了快速启动的方法,然后我们就进去看一看. 进入NameNode和DataNode的主函数后,发现形式差不多: public static void main(String args[]) {     try {       StringUtils.startupShutdownMessage(DataNode.class, args, LOG);       DataNode datanode = crea…
文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Backbone源码结构 1: (function() { 2: Backbone.Events // 自定义事件 3: Backbone.Model // 模型构造函数和原型扩展 4: Backbone.Collection // 集合构造函数和原型扩展 5: Backbone.Router // 路由…
当你在浏览器上点击一个按钮时,点击的事件不仅仅发生在按钮上,同时点击的还有这个按钮的容器元素,甚至也点击了整个页面. 事件流 事件流描述了从页面接收事件的顺序,但在浏览器发展到第四代时,浏览器开发团队提出了两种完全相反的事件流. 冒泡事件流:IE提出的事件流,即事件由最具体的元素接收,逐级向上,传播到页面.…
Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Node环境中,一个.js文件就称之为一个模块(module). 好处是大大提高了代码的可维护性. 其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Node内置的模块和来自第三方的模块. 使用模块还可以避免函数名和变量名冲突.相同名字的…
原文:Directx11学习笔记[二十一] 封装键盘鼠标响应类 摘要: 本文由zhangbaochong原创,转载请注明出处:http://www.cnblogs.com/zhangbaochong/p/5804565.html 由于我们练习的Demo一般都比较简单,对响应时间效率没有太高要求,因此键盘鼠标响应可以采用Win32的处理函数,而不必使用DirectInput,DirectInput在后面会专门再介绍. 为了方便使用,封装了一个Input类用于处理键盘鼠标消息,为了方便采用单例模式,…
WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行动画设置 模型动画demo演示(网页加载速度可能会比较慢) demo地址:https://nsytsqdtn.github.io/demo/naval_craft/naval_craft demo截图如下: 原模型截图: 在我们写three.js的网页的时候,大多时候并不需要我们去手动建立模型,一些…
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者服务器 一.安装webpack 你需要之前安装node.js $ npm install webpack -g 安装成功后,便可以使用webpack命令行了. ok,开始工作! 二.新建一个空目录,名字为myApp,文件如下 entry.js document.write("It works.&qu…
vue中vue-router的使用:…
Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法 在上一篇笔记中我们介绍了Ext.Net的简单用法,并创建了一个简单的登录表单.今天我们将看一下如何更好是使用FormPanel,包括使用字段默认值.Checkbox Grouping和Radio Button Grouping等. 为FormPanel设置默认值 在Form中设置FieldDefaults标签可以设置字段属性的默认值.来看一下我们的用法: <FieldDefaults LabelWidth="60&q…
golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题 下面这个程序运行的能num结果是什么? package main import ( "fmt" "sync" ) var num int64 = 0 var max = 10000 var wg sync.WaitGroup func main() { wg.Add(2) go addNum() go addNum() wg.Wait() fmt.Printf("num=%d \n&q…
写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨,想要写点东西,谈谈这期间的收获.心路历程,以及如何学习Node.js. 心路历程 笔者一直有做技术笔记的习惯,前几年零零散散的也写了不少Node.js的东西,只不过都存在evernote里.写着写着,觉得有必要系统地整理下,于是就有了这个项目. 粗略统计了下,总共提交了约60篇教程,以及将近300个范例脚本.…
f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <script src="https://cdn.bootcss.com/vue/2.2.…
Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@latest获得最近的稳定版本,如下 npm install npm@5.5.0 -g NPM初始化及包管理 npm init -y -y 可以跳过所有的询问,执行后目录下会生成package.json文件来存储一些配置,诸如项目的依赖.自定义脚本等. 现在我们可以使用install命令来安装需要用…
Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql) Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识 Nodejs学习笔记(七)--- Node.js + Exp…
Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Add to Path 查看安装版本 安装完成后,输入node -v 可查看当前安装的Node版本. NPM NPM是什么 npm是Node.js的包管理工具(package manager) 因为我们在Node.js上开发时,会用到很多别人写的JavaScript代码.如果我们要使用别人写的某个包,每…