var方法

Js中的函数

ⅰ亾dé卋堺 提交于 2020-02-07 03:12:24
函数柯里化 柯里化概念:只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数 看一个例子: var add = function(x) { return function(y) { return x + y; }; }; var increment = add(1); var addTen = add(10); increment(2); // 3 addTen(2); // 12 我们定义了一个 add 函数,它接受一个参数并返回一个新的函数。调用了 add 之后,返回的函数就通过闭包的方式记住了 add 的第一个参数。 因为一次性地调用它有点繁琐,所以使用一个特殊的 curry 帮助函数使得这类函数的定义和调用更加容易。 curry的封装 // 初步封装 var currying = function(fn) { // args 获取第一个方法内的全部参数 var args = Array.prototype.slice.call(arguments, 1) return function() { // 将后面方法里的全部参数和args进行合并 var newArgs = args.concat(Array.prototype.slice.call(arguments)) // 把合并后的参数通过apply作为fn的参数并执行 return fn.apply

JavaScript对象中的构造方法

倖福魔咒の 提交于 2020-02-07 01:36:24
JavaScript 类/对象可以具有构造函数吗? 它们是如何创建的? #1楼 这是一个构造函数: function MyClass() {} 当你做 var myObj = new MyClass(); 执行 MyClass ,并返回该类的新对象。 #2楼 我想我会发布有关javascript闭包的信息,因为目前还没有人使用闭包。 var user = function(id) { // private properties & methods goes here. var someValue; function doSomething(data) { someValue = data; }; // constructor goes here. if (!id) return null; // public properties & methods goes here. return { id: id, method: function(params) { doSomething(params); } }; }; 欢迎对此解决方案提出意见和建议。 :) #3楼 这是我有时在JavaScript中用于 OOP 相似行为的模板。 如您所见,您可以使用闭包来模拟私有(静态和实例)成员。 new MyClass() 将返回的对象是仅具有分配给 this 对象的属性,并且位于“类”的

JavaScript

懵懂的女人 提交于 2020-02-05 19:38:52
JavaScript JavaScript引入方式 script标签内写代码 <script>在这里写JS代码</script> 引入额外的JS文件 <script src="myscript.js"></script> JavaScript语言规范 注释 // 单行注释 /* 多行注释 */ JavaScript语言基础 变量声明 JavaScript的变量名可以使用数字、字母、_、$组成,但是不能以数字开头。 声明变量使用 var 变量名; 的格式来声明。 var name="xiaowu"; var age=18; 注意 变量名是区分大小写的。 推荐使用驼峰式命名规则。 保留字(关键字)不能用做变量名。 JavaScript数据类型 JavaScript拥有动态类型 var x; // 此时x是underfined var x=1; // 此时x是数字 var x="xiaowu"; // 此时x是字符串 数值(Number) JavaScript不区分整型和浮点型,只有一种数字类型。 var a=18; var b=18.18; var c=123e3; // 123000 var d=123e-3 // 0.123 还有一种NaN,表示不是一个数字(Not a Number)。 常用方法: parseInt("123") // 返回123 parseInt("abc")

JavaScript

六月ゝ 毕业季﹏ 提交于 2020-02-05 09:25:00
JavaScript JavaScript:概念:一门客户端脚本语言 * 运行在客户端浏览器中,每个浏览器都有JavaScript的解析引擎 * 脚本语言:不需要编译,直接就可以被浏览器解析执行了 * 功能 * 可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验 JavaScript = ECMAScript + JavaScript自己特有的东西 ( BOM和DOM ) * ECMAScript:客户端脚本语言的标准 1. 基本语法 1. 与htmL结合方式 1. 内部JS: * 定义 < Scpript > , 标签体内容就是js代码 2. 外部JS: * 定义 < Script > ,通过src属性引入外部的js文件 * 注意: 1. < script > 可以定义html的任意地方。但是定义的地方会影响执行的顺序。 2. < script > 可以定义多个。 2. 注释 1. 单行注释: //注释内容 2. 多行注释: /*注释内容*/ 3. 数据类型: 1. 原始数据类型 ( 基本数据类型 ) : 1. number : 数字。整数 / 小数 / NAN ( not a number 一个不是数字字符类型 ) 2. string : 字符串。 3. boolean : true 和 false 4. null:

Function对象

匆匆过客 提交于 2020-02-02 13:52:56
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Function对象</title> <script> /* Function:函数(方法)对象 1.创建 1. var fun = new Function(形式参数列表,方法体); 2. function 方法名称(形式参数列表){方法体} 3. var 方法名 = function(形式参数列表){方法体} 2.方法 3.属性 length:代表形参的个数 4.特点 1。方法定义时,形参的类型不用写,返回值类型也不写 2。方法是一个对象,如果定义名称相同的方法,会覆盖 3。在js中,方法的调用只与方法的名称有关,和参数列表无关 4。字方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数 5.调用 方法名称(实际参数列表); */ //创建方式1 不常用 var fun1 = new Function("a", "b", "alert(a);"); //调用方法 /*fun1(1,3);*/ //创建方式2 function fun2(a, b) { alert(a + b); } //调用方法 /* fun2(1,3);*/ //创建方式3 var fun3 = function (a, b) { alert(a

前端之JavaScript

僤鯓⒐⒋嵵緔 提交于 2020-02-02 02:03:28
1 | 0 JavaScript概述 1 | 1 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。 因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 1 | 2 ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009 ECMAScript 5 添加"strict mode"严格模式 添加JSON支持 2011 ECMAScript 5.1 版本变更

JS获取当前时间戳的方法

我的梦境 提交于 2020-02-01 03:01:28
第一种方法: (这种方法只精确到秒) var timestamp = Date.parse(new Date()); 结果: 1545816450000 第二种方法: var timestamp=new Date().getTime(); 结果: 1545816456780 第三种方法: var timestamp=new Date().getTime(); 结果: 1545816456780 第一种:获取的时间戳是把毫秒改成000显示,因为这种方式只精确到秒 第二种和第三种是获取了当前毫秒的时间戳。 添加一个遇到的问题 var sDate = '2018-12-12'; var now = new Date(); var inputDate =Date.parse(sDate ); //输入时间戳 now.setTime(inputDate) //Wed Dec 12 2018 08:00:00 GMT+0800 (中国标准时间) 时间转化时默认8点开始, 8:00:00 来源: https://www.cnblogs.com/liubingyjui/p/10180504.html

每天刷Web面试题(前10天汇总)

时间秒杀一切 提交于 2020-02-01 02:46:24
一、算法题部分 1. 如何获取浏览器URL中查询字符串中的参数? function getParamsWithUrl(url) { var args = url.split('?'); if (args[0] === url) { return ""; } var arr = args[1].split('&'); var obj = {}; for ( var i = 0; i < arr.length; i++) { var arg = arr[i].split('='); obj[arg[0]] = arg[1]; } return obj; } var href = getParamsWithUrl('http://www.itlike.com?id=1022&name=撩课&age=1'); console.log(href['name']); // 撩课 2. 写一个深度克隆方法(es5)? /** * 深拷贝 * @param {object}fromObj 拷贝的对象 * @param {object}toObj 目标对象 */function deepCopyObj2NewObj(fromObj, toObj) { for(var key in fromObj){ // 1. 取出键值对 var fromValue = fromObj[key]; // 2.

javascript: 数据类型深入理解

寵の児 提交于 2020-02-01 01:52:35
1.基本类型(值类型或者原始类型): Number、Boolean、String、NULL、Undefined以及ES6的Symbol 2.引用类型:Object、Array、Function、Date等 1 、在内存中的位置不同 基本类型: 占用空间固定,保存在 栈中 ; 引用类型:占用空间不固定,保存在 堆中 ; 栈(stack)为自动分配的内存空间,它由系统自动释放;使用一级缓存,被调用时通常处于存储空间中,调用后被立即释放。 堆(heap)则是动态分配的内存,大小不定也不会自动释放。使用二级缓存,生命周期与虚拟机的GC算法有关 当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个方法的内存栈也将自然销毁了。因此,所有在方法中定义的变量都是放在栈内存中的;栈中存储的是基础变量以及一些对象的引用变量,基础变量的值是存储在栈中,而引用变量存储在栈中的是指向堆中的数组或者对象的地址,这就是为何修改引用类型总会影响到其他指向这个地址的引用变量。 当我们在程序中创建一个对象时,这个对象将被保存到运行时数据区中,以便反复利用(因为对象的创建成本通常较大),这个运行时数据区就是堆内存。堆内存中的对象不会随方法的结束而销毁,即使方法结束后,这个对象还可能被另一个引用变量所引用(方法的参数传递时很常见)

前端自学笔记---function a(){} 和 var a = function(){}的区别(javascript)

て烟熏妆下的殇ゞ 提交于 2020-01-31 09:49:23
function a(){} 和 var a = function(){}的区别: 学习做浮窗,看到别人的代码里有: window.onresize = function(){ chroX = document.documentElement.clientWidth;//yemian整个的高宽 chroY = document.documentElement.clientHeight; }  看完不是很理解,于是去网上查了一下。 a(); b(); function a(){ alert("函数1"); } var b = function(){ alert("函数2"); } 以上的function a(){} 和 var a = function(){}都是方法的声明,二者之间只有一点不同,就是调用方法时候的顺序不同!b函数是运行到这一步的时候才被加载,所以提前使用的话会导致报错。(a就是普通的函数,运行时就已经被加载,随时可以使用) 参考 https://blog.csdn.net/weixin_39060009/article/details/90766430 的文章 来源: https://www.cnblogs.com/cptCarlvon/p/12244618.html