获得徽章 0
#每天一个知识点#
单例模式:
单例模式是指一个类,只有一个实例。实现的思路是,创建实例时候加判断,如果有实例则返回,如果没有就new一个,并返回。
function getSingle(func) {
let result;
return function() {
if(!result) {
result = new func(arguments);
}
return result;
}
}
展开
评论
#每天一个知识点#
函数柯里化
//是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术
function curryIt(fn) {
let length = fn.length, args = [];
let result = function (arg) {
args.push(arg);
length--;
if(length <= 0) {
return fn.apply(this, args);
} else {
return result;
}
}
return result;
}
展开
评论
#每天一个知识点#
异步加载script
function loadScript(url, callback) {
let oscript = document.createElement("script");
if(oscript.readyState) { //ie8及以下版本
oscript.onreadystatechange = function () {
if(oscript.readyState === 'complete' || oscript.readyState === 'loaded') {
callback();
}
}
} else {
oscript.onload = function () {
callback();
}
}
oscript.src = url;
document.body.appendChild(oscript);
}
展开
评论
赞了这篇沸点
虽然38度4,但既然同事联系我看东西,我起床开了电脑,那高低给大家更一集
今天宜喝冰阔落于2023-07-07 10:35发布的图片
9
#每天一个知识点#
遍历DOM树
//给定页面上的DOM元素,将访问元素本身及其后代
//对于每个访问的元素,函数将元素传递给提供的回调函数
function traverse(element, callback) {
callback(element);
var list = element.children;
for (var i=0; i<list.length; i++) {
traverse(list[i], callback);
}
}
展开
评论
#每天一个知识点#
获取任意元素的任意属性
function getStyle(elem, prop) {
return window.getComputedStyle ? window.getComputedStyle(elem, null)[prop] : elem.currentStyle[prop]
展开
评论
#每天一个知识点#
将一个元素插入到另一个元素后面
Element.prototype.insertAfter=function(target, elen) {
var nextElen = elen.nextElementSibling;
if (nextElen == null) {
this.appendChild(target);
} else {
this.insertBefore(target, nextElen);
}
}
展开
评论
#每天一个知识点#
获得滚动条的的滚动距离
function getScrollOffset(){
if(window.pageXOffset){
return{
x:window.pageXOffset,
y:window.pageYOffset
}
}else{
return{
x: document.body.scrollLeft + document.documentElement.scrollLeft,
y: document.body.scrollTop + document.documentElement.scrollTop
}
}
}
展开
评论
#每天一个知识点#
在鼠标悬停在元素上时,改变鼠标指针的样式。
/* class为'first'的元素 /
.first{
  cursor: not-allowed;
}
/ class为'second'的元素 /
.second{
  cursor: zoom-in;
}
/ class为'third'的元素 */
.third{
  cursor: crosshair;
}
展开
晓祄于2023-07-02 21:25发布的图片
评论
#每天一个知识点#
如何实现多系统统一登录?
评论
#每天一个知识点#
判断元素有没有子元素
function hasChildren(e){
var children = e.childNodes,
len = children.length;
for (var i=0; i<len; i++) {
if(children[i].nodeType === 1) {
return true;
}
}
return false;
}
展开
评论
#每天一个知识点#
找元素的第n级父元素
function parents(ele, n) {
while(ele && n ) {
ele = ele.parentElement ? ele.parentElement : ele.parentNode;
n--;
}
return ele;
}
展开
评论
赞了这篇沸点
#新人报道# [微笑]hello 我是李治,是一名28岁的转行准程序员,我选择了前端作为未来程序员生涯的技术方向,期待和大佬们能有更多的交流
168
#每天一个知识点#
圣杯模式的继承
function inherit(Target, Origin) {
function F() {};
F.prototype = Origin.prototype;
Target.prototype = new F();
Target.prototype.constructor = Target;
//最终的原型指向
Target.prop.uber = Origin.prototype;
}
展开
评论
#每天一个知识点#
数组去重:
方法一:
function unique1(arr) {
retrun [...new Set(arr)]
}
方法二:
function unique2(arr) {
var obj = {};
return arr.filter(ele => {
if(!obj[ele]) {
obj[ele] = true;
return true;
}
})
}
方法三:
function unique3(arr) {
var result = [];
arr.forEach(ele => {
if(result.indexof(ele) == -1) {
return result.push(ele)
}
})
return result;
}
展开
2
#每天一个知识点#
输入一个值,返回其数据类型
functiontype(para){
returnObject.prototype.toString.call(para)
}
评论
#每天一个知识点#
"??"和"?.":
"??"表示:只有左侧的值为null或undefined时才使用右侧的值。
“?.”表示:可选链操作符(?.)允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。操作符的功能类似于链式操作符,不同之处在于,在引用为空(null或undefined)的情况下不会引起错误,该表达式短路返回值。
示例:
let obj = {
name: 'zhang san',
age: 16
}
let sex1 = obj.detail?.sex
let sex2 = obj.detail?.sex ?? '男'
console.log(sex1) //undefined
console.log(sex2) //男
展开
评论
#每天一个知识点#
-webkit-text-stroke
通过使用这个简单易用的属性,可以创建出酷炫的文字效果。它可以给文字添加描边。-webkit-text-stroke是-webkit-text-stroke-width和-webkit-text-stroke-color的简写属性。
.custom-headline {
color: transparent;
-webkit-text-stroke: 1px #04D939;
}
展开
评论
#每天一个知识点#
为了能够让只执行一次的需求覆盖不同的事件处理,可以将这个需求剥离出来,这个过程为过程抽象。

function once(fn) { return function(...args) { if(fn) { const ret = fn.apply(this,args); fn = null; return ret; } } }
展开
评论
下一页
个人成就
文章被点赞 10
文章被阅读 3,536
掘力值 158
收藏集
4
关注标签
9
加入于