前端
看海小蚂蚁
开发中的一个byte,IT教育中的思考者,但永远是互联网海潮中的一只看海小蚂蚁
展开
-
JS中的变量和函数提升
//1. js变量提升 console.log(a); var a = 123; //运行结果为undefined。运行流程如下 var a; console.log(a); a = 123; //2. js函数提升 fun(); function fun(){ cons...原创 2018-05-16 11:23:25 · 185 阅读 · 0 评论 -
JS经典小坑(坑主要在JS没有块级作用域)
js中有一个经典的函数赋值错误,这个问题和闭包问题相关,我们先来看一下这个案例吧。 var arr = []; for(var i=0;i<2;i++){ arr[i] = function(){ return i; } } console.log(arr[0]());这个结果是2,和你想的一样吗? 可能有不少新手会误以为是1。那么接下来解释一...原创 2018-05-16 11:35:36 · 1465 阅读 · 0 评论 -
解决JS的经典小坑
var arr = []; for(var i=0;i<2;i++){ arr[i]=function(i){ return function(){ return i; } }(i) } console.log(arr[0]());解决上篇文章中的小坑,需要定义一个立即执行函数( arr[i]后边的函数就是立即执行函...原创 2018-05-16 11:48:45 · 311 阅读 · 0 评论 -
花瓣网首页头部背景图效果
HTML文件:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="./in原创 2018-06-08 08:23:14 · 542 阅读 · 0 评论 -
es6中的函数变化
1. ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法,如下:function log(x, y) { y = y || 'World'; console.log(x, y);}log('Hello') // Hello Worldlog('Hello', 'China') // Hello Chinalog('Hello', '') // Hello World这...翻译 2018-06-26 11:37:10 · 276 阅读 · 0 评论 -
javascript闭包和立即执行函数的作用
javascript闭包和立即执行函数的作用一、闭包——closure 先看一个闭包的例子。我们想实现一个计数器,最简单的方法就是定义一个全局变量,计数的时候将其加1。但是全局变量有风险,哪里都有可能不小心改掉它。那局部变量呢,它只在函数内部有效,函数调用完后它就没了,而且全局没法使用。那我们用想让计数器全局使用,又不想让这个变量被随便修改怎么办。这就需要闭包了:123456function c...转载 2018-06-26 20:17:06 · 179 阅读 · 0 评论