- css实现水平居中的几种方式
top、left、right、bottom设置为0,用于实现居中
未知宽高:是不知道宽高而不是没有。实例
css3:父元素display:flex;子元素:margin:auto;好用,有兼容问题
flex布局,兼容写法 - css伪类(:before和:after)
在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素 - HTML中的meta标签及其使用方法
- 哪个对象调用函数,函数里面的this指向哪个对象
this指向总结
箭头函数中的this指向问题详解 - ES6常用语法总结
- promise 例子很形象生动
- 原生ajax+封装ajax+使用方法
- 用Promise封装一下原生ajax
- git常用命令
- js如何实现类的继承
- js的new操作符做了哪些事情
- JS基本数据类型和引用数据类型的区别及深浅拷贝
- JS基本数据类型和引用数据类型的区别及深浅拷贝
- js循环给li绑定事件实现 点击li弹出其索引值 和内容
- 闭包
例子:
<script>
//1. 用外层函数包裹要保护的变量和内层函数
function outer(){
var i=1;
//2. 外层函数返回内层函数对象到外部
return function(){
console.log(i++);
}
}
//3. 调用外层函数获得内层函数对象
var getNum=outer();
//getNum:function(){ console.log(i++); }
getNum();//1
getNum();//2
i=1;
getNum();//3
getNum();//4
</script>
如果有人问你这个问题,编写一个输入一个字符串并逐次返回字符。 如果给出了新字符串,则应该替换旧字符串,类似简单的一个生成器。
function generator(input) {
var index = 0;
return {
next: function() {
if (index < input.length) {
index += 1;
return input[index - 1];
}
return "";
}
}
}
执行如下:
var mygenerator = generator("boomerang");
mygenerator.next(); // returns "b"
mygenerator.next() // returns "o"
mygenerator = generator("toon");
mygenerator.next(); // returns "t"
在这里,作用域扮演着重要的角色。闭包是返回另一个函数并携带数据的函数。上面的字符串生成器适用于闭包。index 在多个函数调用之间保留,定义的内部函数可以访问在父函数中定义的变量。这是一个不同的作用域。如果在第二级函数中再定义一个函数,它可以访问所有父级变量。
16. 闭包应用场景
17. js的垃圾回收机制 可达性
什么是垃圾:
一般来说没有被引用的对象就是垃圾,就是要被清除, 有个例外如果几个对象引用形成一个环,互相引用,但根访问不到它们,这几个对象也是垃圾,也要被清除。
18. js变量
1)全局变量 / 局部变量
2)显示声明 / 隐式声明
3)变量提升 / 函数提升
第一种声明方式:使用var关键字+变量名在函数外部声明就是全局变量;在函数内部则为局部变量;
第二种声明方式:没有使用var关键字声明,直接给变量名赋值,不管是在函数内部还是外部都是全局变量;
第三种声明方式: 使用window全局对象来声明,全局对象的属性对应也是全局变量;
在js函数中局部变量优先于全局变量
20. js变量提升
注意: 当全局变量跟局部变量重名时,局部变量的scope会覆盖掉全局变量的scope,当离开局部变量的scope后,又重回到全局变量的scope。
1、所有申明都会被提升到作用域的最顶上
2、同一个变量申明只进行一次,并且因此其他申明都会被忽略;(如果局部和全局变量重名,优先使用局部变量)
3、函数声明的优先级优于变量申明,且函数声明会连带定义一起被提升。
我们习惯将var a = 2;看做是一个声明,而实际上javascript引擎并不这么认为。它将var a和a = 2看做是两个单独的声明,第一个是编译阶段的任务,而第二个则是执行阶段的任务.
这意味着无论作用域中的声明出现在什么地方,都将在代码本身被执行前首先进行处理,可以将这个过程形象地想象成所有的声明(变量和函数)都会被“移动”到各自作用域的最顶端,这个过程被称为提升。
- js创建函数的3种方法
1) 函数声明 :常用function sum () { }
2) 函数表达式 : var sum = function () { }
3) 函数构造法 :var sum = new Function(‘x’,‘y’,‘return x + y ;’) - 前端小智
来源:CSDN
作者:Arwin_521
链接:https://blog.csdn.net/weixin_43503511/article/details/103842526