var函数

js函数 循环

依然范特西╮ 提交于 2020-03-25 04:32:16
值类型之间的相互转化 转字符串:String() | .toString() | "" + // 123..toString() | 重点是 "" + 转数字:Number(a) | parseFloat() | parseInt() | + // +'123' // parseFloat('3.14.15') => 3.14 | parseInt('3.14.15') => 3 转布尔:Boolean(a) ​ 非数字:NaN // 当一个其他类型转化为数字类型的产物 // 任何判断一个结果是否是NaN, isNaN(运算) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>类型转化</title> </head> <body> 值类型之间的相互转化 </body> <script> // number | string | boolean ​ // 转化为boolean var num = 10; var s = "123"; ​ num = 0; s = ""; var b1 = Boolean(num); var b2 = Boolean(s); console.log(b1, b2); ​ // 后期我们会在if分支结构中的判断以及循环中的判断中使用boolean类型, // 以上两种情况下,

HTML---FlappyBird

三世轮回 提交于 2020-03-24 18:34:36
3 月,跳不动了?>>> 开发工具:Visual Studio Code 游戏介绍: 《flappy bird》是一款由来自越南的独立 游戏开发者 Dong Nguyen所开发的作品,游戏于2013年5月24日上线,并在2014年2月突然暴红。2014年2月,《Flappy Bird》被开发者本人从苹果及谷歌应用商店撤下。2014年8月份正式回归APP STORE,正式加入Flappy迷们期待已久的多人对战模式。游戏中 玩家 必须控制一只小鸟,跨越由各种不同长度水管所组成的障碍。 1.设置画布 <canvas id="canvas" width="340" height="453" style="border: 2px solid #000;background: #fff;"></canvas> 2.导入js <script src="bird.js" type="text/javascript"></script> 3.bird类 function Bird(x, y, image) { this.x = x, this.y = y, this.width = image.width / 2, this.height = image.height, this.image = image; this.draw = function(context, state) { if

ES6十大常用特性

廉价感情. 提交于 2020-03-24 06:45:14
平时项目中用到不少es6的语法,然后来全面了解一下。看到一篇博客总结的不错。特来分享 https://blog.csdn.net/bingtangcsnd/article/details/63684142 以下是ES6排名前十的最佳特性列表(排名不分先后): Default Parameters(默认参数) in ES6 Template Literals (模板文本)in ES6 Multi-line Strings (多行字符串)in ES6 Destructuring Assignment (解构赋值)in ES6 Enhanced Object Literals (增强的对象文本)in ES6 Arrow Functions (箭头函数)in ES6 Promises in ES6 Block-Scoped Constructs Let and Const(块作用域构造Let and Const) Classes(类) in ES6 Modules(模块) in ES6 【备注 】这里只列出了10条比较常用的特性。并不是所有的浏览器都支持ES6模块,所以你需要使用一些像jspm去支持ES6模块。 1.Default Parameters(默认参数) ES5: var link = function (height, color, url) { var height =

js预解析

只愿长相守 提交于 2020-03-24 03:33:19
js预解析 1. 定义 预解析:在当前作用域下,js运行之前,会把带有var和function关键字的事先声明,并在内存中安排好。然后再从上到下执行js语句。 预解析只会发生在通过var定义的变量和function上。 2. var 通过var关键字定义的变量进行预解析的时候:都是声明declare,不管它有没有赋值,都会赋值undefined。 alert(a); //undefined var a = 1; alert(b); //undefined var b = function(){ } alert(c); //undefined var c; 只要是通过var定义的,不管是变量,还是函数,都是先赋值undefined,如果是变量,也不管变量有没有赋值,在预解析阶段,都是会被赋值为undefined。 3. function function进行预解析的时候,不仅是声明而且还定义(define)了,但是它存储的数据的那个空间里面存储的是代码是字符串,没有任何意义。 alert(a); //弹出的是下面的function function a(){   alert("预解析function") } 注意这种情况 定义一个函数想要立即执行,写成如下形式是不可行的,在预解释的时候,它把它分解成两部分来对待,第一部分是fn函数,而第二部分是(),一个匿名函数,执行时会报错

js如何复制一个对象?

夙愿已清 提交于 2020-03-23 18:30:20
方法一: 把原来对象的属性遍历一遍,赋给一个新的对象。 //深复制对象方法 var cloneObj = function (obj) { var newObj = {}; if (obj instanceof Array) { newObj = []; } for (var key in obj) { var val = obj[key]; //newObj[key] = typeof val === 'object' ? arguments.callee(val) : val; //arguments.callee 在哪一个函数中运行,它就代表哪个函数, 一般用在匿名函数中。 newObj[key] = typeof val === 'object' ? cloneObj(val): val; } return newObj; }; //测试 var obj = {a:function(){console.log(this.b.c)},b:{c:1}},//设置一个对象 newObj = cloneObj(obj);//复制对象 newObj.b.c=2;//给新对象赋新值 obj.a();//1,不受影响 newObj.a();//2 方法二: 1). 先将对象变为字符串,然后再变为json对象,防止对象的指针指向问题,为深拷贝 2). undefined 和

栈的最小值

余生长醉 提交于 2020-03-23 09:45:10
2020-03-23 栈的最小值 请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。执行push、pop和min操作的时间复杂度必须为O(1) 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); --> 返回 -3. minStack.pop(); minStack.top(); --> 返回 0. 题解: 思路1: 栈基础 栈数据格式的基本操作 /** * initialize your data structure here. */ var MinStack = function () { this.stack = []; this.index = 0; }; /** * @param {number} x * @return {void} */ MinStack.prototype.push = function (x) { this.stack[this.index++] = x; // 最后一项插入 }; /** * @return {void} */ MinStack.prototype.pop = function () { this

【JavaScript】JS总结 – 乱

会有一股神秘感。 提交于 2020-03-22 22:50:31
一、 重要:js中的function函数声明、函数表达式 // 函数声明 // Ex: 会在代码执行之前提前加载到作用域中,即js解析器会优先读取,确保在所有代码执行之前声明已经被解析;所以可以在定义之前调用。 function test(){ document.write("test() invoke!" + "<br>"); } // 函数表达式 // Ex: 在代码执行到那一行的时候才会有定义;定义之后才能调用。 var t2 = function(){ document.write("t2() invoke!" + "<br>"); } //函数声明:会在代码执行之前提前加载到作用域中 test("1"+name); // test() invoke!14 var name =1; function test(name){ document.write("test() invoke!" + name + "<br>"); } name=2; test("2"+name); //test() invoke!22 //函数表达式:在代码执行到那一行的时候才会有定义 var t2; //t2(); // t2 is not a function test("21"+name); //test() invoke!212 name =3; test("22"+name); /

网页设计之js

五迷三道 提交于 2020-03-22 14:55:42
1. JavaScript概述 javaScript与ECMAScript的相爱相杀 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。二是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。 因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 javaScript与ECMAScript ES6就是指ECMAScript6,尽管ECMAScript是一个重要的标准,但它并不是JavaScript唯一的部分,当然也不是唯一标准化的部分,实际上,一个完整的JavaScript实现是由以下3个不同部分组成的: 核心(ECMAScript) 文档对象模型(DOM)Document object model(整合js,css,html) 浏览器对象模型(BOM)Broswer

函数 两种定义函数的方式

南笙酒味 提交于 2020-03-21 16:43:41
函数声明 function foo () {} 函数表达式 var foo = function () {} (function() {})() var foo = function bar() {} return function () {} 函数声明会被提前 var sum = add(1,2); // 3 console.log(sum); function add(x, y) { x = +x; y = +y; if(isNaN(x) || isNaN(y)) { return; } return x+y; } 变量会被提前, 而函数表达式不会提前 var sum = add(1,2); //Uncaught TypeError: add is not a function console.log(sum); var add = function (x, y) { x = +x; y = +y; if(isNaN(x) || isNaN(y)) { return; } return x+y; } 来源: https://www.cnblogs.com/luckstart/p/5197400.html

前端-js-长期维护

牧云@^-^@ 提交于 2020-03-21 08:14:47
############### JS简介和JS引入 ################ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!-- js简介 英文:javascript 这是一门编程语言, 要学习什么? 1,js的核心语法: 1,基础语法 2,数据类型 3,函数 4,面向对象(ES6) 2,BOM:这是操作浏览器的,比如浏览器弹窗 3,DOM:这是操作浏览器上面html内容的, 就是这三部分 js是一个解释性语言,是需要一个解释器的,但是解释器比较特殊,只要有浏览器就可以解释js, --> <!-- 如何引入js文件 --> <!--第一种方式,通过script标签--> <!--<script>--> <!--alert(121212)--> <!--</script>--> <!--第二种方式,写一个js文件,--> <script src="1.js"></script> <div id="d1">sss</div> </body> </html> ############### JS的基本语法和数据类型(数字和字符串) ################ /* js基础语法: 1,注释: 单行注释:// 多行注释: