
获得徽章 0
赞了这篇文章
赞了这篇文章
赞了这篇文章
分享一个快速判断JS的对象到底是object还是数组还是函数的方法
function sum(){
}
let arr = [1,2]
let obj = {a:1}
console.log(Object.prototype.toString.call(sum))//[object Function]
console.log(Object.prototype.toString.call(arr))//[object Array]
console.log(Object.prototype.toString.call(obj))//[object Object]
function sum(){
}
let arr = [1,2]
let obj = {a:1}
console.log(Object.prototype.toString.call(sum))//[object Function]
console.log(Object.prototype.toString.call(arr))//[object Array]
console.log(Object.prototype.toString.call(obj))//[object Object]
展开
6
点赞
求大神指点!
这是一段手动实现JS中的call()函数的代码,写完之后发现会给传入call() 函数的对象(截图中的obj对象)添加一个额外的属性,这是属性就是调用call()函数的那个函数。不知道怎么改进,感觉额外添加属性并不是太好。
这是一段手动实现JS中的call()函数的代码,写完之后发现会给传入call() 函数的对象(截图中的obj对象)添加一个额外的属性,这是属性就是调用call()函数的那个函数。不知道怎么改进,感觉额外添加属性并不是太好。
5
点赞
css清除浮动方法小结
一下方法是针对子元素浮动,导致父元素高度塌陷的问题
首先要明确一点,子元素浮动会导致两个塌陷,一个是父元素内部的塌陷,就是其他子元素占用了浮动子元素的位置。另外一个塌陷是因为父元素没有设置高度,导致父元素同级的元素占用了父元素的位置。
①给父元素加上{overflow: hidden;*zoom:1};这种方法会解决父元素高度塌陷问题。也就是说和父元素同级的元素不会受父元素内子元素的影响。但是父元素内部的子元素直接还是会受某个子元素浮动的影响。
②.father::after{content: '';display: block;clear: both;}这种方法解决的问题与方法一解决的问题是一样的
③如果要解决父元素内部的子元素高度塌陷的问题,那么可以在浮动的子元素后面加上一个div 设置这个div的样式clear:both;这样其余的子元素就不会占用浮动的子元素的原来的位置。
一下方法是针对子元素浮动,导致父元素高度塌陷的问题
首先要明确一点,子元素浮动会导致两个塌陷,一个是父元素内部的塌陷,就是其他子元素占用了浮动子元素的位置。另外一个塌陷是因为父元素没有设置高度,导致父元素同级的元素占用了父元素的位置。
①给父元素加上{overflow: hidden;*zoom:1};这种方法会解决父元素高度塌陷问题。也就是说和父元素同级的元素不会受父元素内子元素的影响。但是父元素内部的子元素直接还是会受某个子元素浮动的影响。
②.father::after{content: '';display: block;clear: both;}这种方法解决的问题与方法一解决的问题是一样的
③如果要解决父元素内部的子元素高度塌陷的问题,那么可以在浮动的子元素后面加上一个div 设置这个div的样式clear:both;这样其余的子元素就不会占用浮动的子元素的原来的位置。
展开
评论
点赞
css盲点总结
①当我们对父元素设置display: flex;时,子元素如果不指定高度那么默认就是父元素的高度
如果对子元素设置align-items: center;height:100px;那么子元素就为100px 在父元素内垂直居中
②当我们在父元素没有用flex布局的时候,子元素的高度默认是0,宽度默认是父元素的100%
③flex布局:
设置在容器上的属性:flex-direction + flex-wrap = flex-flow justify-content align-items align-content(针对多行)
设置在项目上的属性:order flex-grow + flex-shrink + flex-basis = flex(默认0 1 auto);auto(1 1 auto)等分放大缩小;none(0 0 auto)不放大不缩小
①当我们对父元素设置display: flex;时,子元素如果不指定高度那么默认就是父元素的高度
如果对子元素设置align-items: center;height:100px;那么子元素就为100px 在父元素内垂直居中
②当我们在父元素没有用flex布局的时候,子元素的高度默认是0,宽度默认是父元素的100%
③flex布局:
设置在容器上的属性:flex-direction + flex-wrap = flex-flow justify-content align-items align-content(针对多行)
设置在项目上的属性:order flex-grow + flex-shrink + flex-basis = flex(默认0 1 auto);auto(1 1 auto)等分放大缩小;none(0 0 auto)不放大不缩小
展开
评论
点赞
JS用原型模拟类的继承
function Student(props) {
this.name = props.name || 'Unnamed';
}
Student.prototype.hello = function () {
console.log('Hello, ' + this.name + '!');
}
function PrimaryStudent(props) {
// 调用Student构造函数,绑定this变量:
Student.call(this, props);
this.grade = props.grade || 1;
}
//原型类比于类,类之间的继承,类比于原型之间的继承
PrimaryStudent.prototype = Object.create(Student.prototype)
let ps = new PrimaryStudent({name:'zh',grade:100})
console.log(ps.name)
ps.hello()
function Student(props) {
this.name = props.name || 'Unnamed';
}
Student.prototype.hello = function () {
console.log('Hello, ' + this.name + '!');
}
function PrimaryStudent(props) {
// 调用Student构造函数,绑定this变量:
Student.call(this, props);
this.grade = props.grade || 1;
}
//原型类比于类,类之间的继承,类比于原型之间的继承
PrimaryStudent.prototype = Object.create(Student.prototype)
let ps = new PrimaryStudent({name:'zh',grade:100})
console.log(ps.name)
ps.hello()
展开
评论
点赞
赞了这篇文章
一个算法,大家可以帮我分析一下时间复杂度吗?
leetcode官方给出的时间复杂度是O(n),但是我寻思每次的pop和push操作不是也得用时间吗,而且push和pop的时间复杂度应该不是常数吧,因为数组的插入和删除应该是挺慢的吧,所以为啥时间复杂度就是O(n)呢?
leetcode官方给出的时间复杂度是O(n),但是我寻思每次的pop和push操作不是也得用时间吗,而且push和pop的时间复杂度应该不是常数吧,因为数组的插入和删除应该是挺慢的吧,所以为啥时间复杂度就是O(n)呢?
2
1