js代码

[前端JS学习笔记]JavaScript function

浪子不回头ぞ 提交于 2020-02-05 13:04:39
一、函数的声明 1.1 function 命令 function methodName(params) { // code } 如下声明: function test_function(params) { console.log("function"); } 如上函数, 声明了 test_function函数, 以后使用test_function(params) 都会调用相应的代码, 这就是函数的声明 1.2 函数表达式 除了1.1的函数直接声明,JS还可以用函数赋值给一个变量,即函数表达式。 我们先来看下它的语法是怎么玩的。 var methodName = function() { // code }; 如下玩法 var test_function = function() { console.log("function"); }; 如上函数是把一个匿名函数赋值给一个变量, 匿名函数就是没有名字了,顾名思义,所以function命令后不要再加函数名。特别要提醒一点 : 使用函数表达式声明的, 函数的声明在结尾的大括号需要加上 分号 表示语句结束。 而函数声明的结尾的大括号后面可以不加 分号。 1.3 Function构造函数 先看下语法 var methodName = new Function( params... ); 玩法 如果有多个参数,最后一个参数会被当做函数体使用

JS 语言的Function 解析

女生的网名这么多〃 提交于 2020-02-05 12:50:49
1.最基本的作为一个本本分分的函数声明使用。 复制代码 代码如下: function func(){} 或 var func=function(){}; 2.作为一个类构造器使用: 复制代码 代码如下: function class(){} class.prototype={}; var item=new class(); 3.作为闭包使用: 复制代码 代码如下: (function(){ //独立作用域 })(); 4.可以作为选择器使用: 复制代码 代码如下: var addEvent=new function(){ if(!-[1,]) return function(elem,type,func){attachEvent(elem,'on'+type,func);}; else return function(elem,type,func){addEventListener(elem,type,func,false);} };//避免了重复判断 5.以上四中情况的混合应用: 复制代码 代码如下: var class="new" function(){ var privateArg;//静态私有变量 function privateMethod=function(){};//静态私有方法 return function(){/*真正的构造器*/};}; 6

js基础知识点总结

痴心易碎 提交于 2020-02-05 09:16:01
如何在一个网站或者一个页面,去书写你的js代码: 1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs) 2.js的规划():避免全局变量和方法(命名空间,闭包,面向对象),模块化(seaJs,requireJs) 常用内部类:Data Array Math String HTML属性,CSS属性 HTML:属性.HTML属性="值"; CSS:对象.style.CSS属性="值"; class和float 1.class:className 2.float:cssFloat 获取对象 id:document.getElementById("id 名") 事件:用户的动作 鼠标事件: onclick:点击 onmouseover: 鼠标放上 onmouseout:鼠标离开 ondbclick:双击事件 onmousedown:鼠标按下 onmouseup:鼠标抬起 onmousemove鼠标移动 表单事件: onfocus:获取焦点 onblur:失去焦点 onsubmit:提交事件 onchange:当发生改变的时候 onreset:重置事件 键盘事件: onkeyup:键盘抬起 onkeydown:键盘按下 onkeypress:键盘按键一次 窗口时间:onload事件 页面加载完成之后立刻执行的事件 两种方式: 1.

js代码解析原则

本秂侑毒 提交于 2020-02-05 08:57:41
js引擎在读取js代码时会进行两个步骤,第一个步骤是解释,第二个步骤是执行。 解释就是先通篇扫描所有的Js代码,然后把所有声明提升到顶端,第二步是执行,执行就是执行代码的操作。 例: 例子1: <script type="text/javascript"> console.log(a);//输出结果 undefined var a=10; </script> 以上代码输出 undefined 原因: 变量提升 ( 把变量声明提升到当前执行环境的最顶端 ) 上段代码相当于: var a; console.log(a);//由于未赋值 所以输出undefined a=10; 例2: foo(); function foo(){ console.log("aaa"); } 结果输出: aaa 原理: 函数声明提升 ( 函数声明提升直接把整个函数提到执行环境的最顶端 ) 相当于: function foo(){ console.log("aaa"); } foo(); 变量提升只提升函数名 而函数提升会提升整个函数题 注意: 函数提升在变量提升上面 。 例3: foo(); var foo = function(){ console.log("aaa"); } 运行结果是: foo is not a function 原因: 还是进行了 变量提升 相当于: var foo; console

从0开发3D引擎(七):学习Reason语言

大城市里の小女人 提交于 2020-02-05 08:57:10
目录 上一篇博文 介绍Reason Reason的优势 如何学习Reason? 介绍Reason的部分知识点 大家好,本文介绍Reason语言以及学习Reason的方法。 上一篇博文 从0开发3D引擎(六):函数式反应式编程及其在引擎中的应用 介绍Reason Reason又叫Reasonml,是在Ocaml语言的基础上修改而来,由Facebook ReactJs的开发组开发和维护。 Reason是函数式编程语言,由Bucklescript编译器将其编译为 java script语言。 Reason是专门提供给前端开发者使用的,相对于Ocaml,语法上与javascript更为接近。 Reason的优势 1、从“发展前景”来说: 1)大公司Facebook出品,质量、稳定性、后续维护升级有保证 2)Reason是基于OCaml的,因此随着Ocaml的版本更新,Reason和Bucklescript也会支持Ocaml的新特性 3)函数式编程越来越火,它也在3D引擎中越来越多地使用(如Frostbite公司提出的Frame Graph架构和Data Oriented思想都需要结合函数式编程) 2、从“性能”来说: 1)Reason支持mutable的操作和数据结构 可在性能热点处使用它们,提高性能 2)对浏览器的JIT编译友好,提升了运行时性能 因为Reason是强类型语言

React中的webpack如何配置less

吃可爱长大的小学妹 提交于 2020-02-05 08:00:33
16.12.0版本React中的webpack如何配置less 其中"scripts"帮你自动下载需要的 webpack-dev-server 依赖,包括开始start,打包build,测试test,配置都放在eject中,所以如果想要配置自带的依赖外的less的东西需要暴露出eject依赖文件 yarn add less - loader或者npm install less - loader //先安装依赖 yarn eject 或者npm run eject //解构目录 执行上面操作之后,自动会生成config文件夹,需要修改webpack.config.js,打开config目录下的webpack.config.js,修改webpack配置,如下图 第一处是找到 cssRegex 和 cssModuleRegex 在他们得我下面新建 lessRegex 和 lessModuleRegex 变量 第二处是增加 less-loader 的配置 具体修改如下 //第一大块大概在47行左右 const lessRegex = /\.less$/ ; const lessModuleRegex = /\.module\.less$/ ; //第二大块大概在493行左右 //配置less { test : lessRegex , exclude : lessModuleRegex ,

js的event对象

99封情书 提交于 2020-02-05 07:50:47
一个完整的事件系统,通常存在以下三个角色: 事件对象,用于储存事件的状态。 event || window.event 事件源对象,当前事件在操作的对象,如元素节点,文档对象,window对象,XMLHttpRequest对象等。 event.target || window.event.srcElement 事件监听器,当一个事件源生成一个事件对象时,它会调用相应的回调函数进行操作。在IE中,事件对象恒为全局属性window.event的分身。 1. event事件对象 1.1 event代表事件的状态。例如触发event对象的元素、鼠标的位置及状态、按下的键等等; 1.2. event对象只在事件发生的过程中才有效。 firefox里的event跟IE里的不同,IE里的是全局变量,随时可用;firefox里的要用参数引导才能用,是运行时的临时变量。 事件对象:IE/Opera:window.event,Firefox:event; 而事件源对象,IE:window.event.srcElement,Firefox:event.target,Opera中两者都可用。 2.事件流 2.1事件冒泡 意思就是说,假如用户单击了一个元素,该元素拥有一个click事件,那么同样的事件也将会被它的祖先触发,这个事件从该元素开始一直冒泡到DOM树的最上层,这一过程称为事件冒泡。 2.2事件捕获

js保留小数点后两位数字

折月煮酒 提交于 2020-02-05 07:35:42
今天带大家来了解一下js如何保留小数点后两位的^ . ^ 前言 保留小数点后两位的第一种方法 保留小数点后两位的第二种方法 保留小数点后两位的第三种方法 保留小数点后两位的第四种方法 这篇文章适合学习js且又不知道如何保留小数点后两位的友友们阅读哦~ 前言 js保留小数点后两位,意思就是 2.1234567,保留2.1234567后面两位得到的就是2.12,接下来就带大家进入js保留小数点后两位的海洋~ 保留小数点后两位的第一种方法 var num = 22.125456 ; //声明一个变量 num = num . toFixed ( 2 ) ; //num是上面的变量,toFixed是保留小数的意思 //括号里的数字是保留几位的意思,咱们写的是2,它就保留2位。 //这个方法是会四舍五入的,咱们这里写出来的输出结果是 22.13 保留小数点后两位的第二种方法 function getnum ( ) { var num = 22.123456 ; //声明变量 var figure = num . substring ( 0 , num . indexOf ( "." ) + 3 ) ; alert ( figure ) ; //在页面中弹出figure ,小伙伴们可以去试一下哦~ } 这一行代码的解析是这样的: 声明一个变量,当然你可以取其他名字,等号后面的num就是上面的变量

js基础知识点总结

心已入冬 提交于 2020-02-05 07:32:09
js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码: 1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs) 2.js的规划():避免全局变量和方法(命名空间,闭包,面向对象),模块化(seaJs,requireJs) 常用内部类:Data Array Math String HTML属性,CSS属性 HTML:属性.HTML属性="值"; CSS:对象.style.CSS属性="值"; class和float 1.class:className 2.float:cssFloat 获取对象 id:document.getElementById("id 名") 事件:用户的动作 鼠标事件: onclick:点击 onmouseover: 鼠标放上 onmouseout:鼠标离开 ondbclick:双击事件 onmousedown:鼠标按下 onmouseup:鼠标抬起 onmousemove鼠标移动 表单事件: onfocus:获取焦点 onblur:失去焦点 onsubmit:提交事件 onchange:当发生改变的时候 onreset:重置事件 键盘事件: onkeyup:键盘抬起 onkeydown:键盘按下 onkeypress:键盘按键一次 窗口时间:onload事件 页面加载完成之后立刻执行的事件

jQuery Ajax通用js封装

两盒软妹~` 提交于 2020-02-05 05:08:17
第一步:引入jQuery库 <script type="text/javascript" src="<%=path%>/resources/js/jquery.min.js"></script> 第二步:开发Ajax封装类 ,已测试通过,可以直接调用,直接贴代码,讲解就省了 /***************************************************************** jQuery Ajax封装通用类 (linjq) *****************************************************************/ $(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1} * async 默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。 * 注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 * type 请求方式("POST" 或 "GET"), 默认为 "GET" * dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text *