JS算法之脑洞大开freeCodeCamp(部分)
问题描述:寻找两个数组的对称差集
代码块(思路1):
123456789101112131415161718192021222324252627282930313233343536373839function diffArray(arr1, arr2) { const newArr = []; //创建两个记录出现重复元素的字典,默认出现次数为1 let arr1_map = new Map() let arr2_map = new Map() for(let i = 0; i < arr1.length; i++){ arr1_map.set(arr1[i], 1) } for(let j = 0; j < arr2.length; j++){ arr2_map.set(arr2[j], 1) }//两两比较,若相同则,出现次数+1 for(let key of arr1_map.keys()){ for(let j = 0 ...
简单学一学神经网络(基于鱼书)感知机
正如图上所示,若干个输入变量通过加权求和,并通过一个跃阶函数的映射,输出结果。在生物学里就是,神经元接收一些信号,然后这些信号会在神经细胞核内进行一系列综合处理,最后当这个处理后的信号达到一定的阈值,该细胞就会被激活,产生一个刺激的输出。这就是所谓的感知。感知机就是对人脑神经元的一次感知模拟。
利用感知机实现简单的逻辑电路比如实现与门
1234567891011import numpy as npdef AND(x1, x2): w1, w2= 0.5, 0.5 temp = x1 * w1 + x2 * w2 if temp >= 1: return 1 elif temp < 1: return 0 #测试一下print(AND(1, 0)) #0
与非门
1234567891011def NAND(x1, x2): x = np.array([x1, x2]) w = np.array([-0.5, -0.5]) b = 0.7 temp = n ...
漫长的从零到一的JS调试之路关于变量var声明的作用域是函数作用域
使用var定义的变量会成为包含它的函数的局部变量
使用var定义的变量会自动提升到函数作用域顶部(声明提升)
letlet声明的是块作用域,需要注意的是块作用域是函数作用域的子集
let定义的变量不会进行声明提升,这称为“暂时性死区”
const可以理解为java中的声明一个常量
关于数据类型Undefined(定义了但未赋予初始值)它的值就是undefined,使用var或let声明变量没赋初值,就相当于赋予了undefined
Null它的值为null,逻辑上它的值表示一个空对象指针
BooleanNumber有个特殊的值:NaN(不是数值“Not a Number”),用来表示本来要返回数值的操作失败了
String可以用单(‘’)、双引号(“”)或者反引号(`)标示
Symbol确保对象属性使用唯一标识符,防止属性冲突的危险
Object关于正则表达式用于定义一些字符串的规则
语法:
var 变量 = new RegExp(“正则表达式”,”匹配模式”);
完成上述new后得到一个正则表达式 ...
关于一个折磨了我快两天的不是bug的bug(低血压人士误入)这是我在做一个todolist的时候遇到的…话不多说,上图
上面的代码的逻辑很简单,在输入框输入待办的任务task,由于双向绑定,将获得的task封装成一个taskObj对象(一条待办事项),然后通过触发自定义事件addTodo将这个taskObj对象传给父组件
之后由父组件向store提交commit…
以此来执行mutation里的ADDTODO方法,将新的待办事项插入到todolist中
嗯!一切看着都十分顺利,但是…
明明插入俩个不一样的待办事项并且他们的id是通过nanoid随机生成的,新的数据会覆盖掉之前插入的数据…对没错,女士们先生们就这个错误折磨我快两天(再次点题),我这两天心情极度低落,这只是一个简单的小demo却给我写成了这样。我一度怀疑我是不是白学了,我是不是应该注意进厂时机(说真的,我没有开玩笑)傅杰豪,你连这样一个错误都找不出来,你学伱抹的js、vue我把代码从头到尾看了不下十遍,一遍又一遍地调试,也是一点效果也没有…在床上无数次躺下,又坐起。当时我真的很想跳过这个demo,但是这个demo ...
乱七八糟的css笔记以及踩坑经历animation应用之模拟雨滴下落1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> ...
错了错了,是学个P(erfect)>的VueVue的特点
组件化模式,提高代码复用率
声明式编码(无需直接操作DOM)
hello Vue1234567891011121314151617181920212223242526<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="./vue.js"></script& ...
寄·算机英格力士the Second classthe base raised to a power基的若干次幂
memory:
main memory(主存)
auxiliary ~(辅助存储)
peripheral device外围设备
utilities使用软件
electronic spread sheet电子表格
heuristic启发式
statement 语句(在计算机领域的翻译)
called…after 因…而被称为
bring to bear 运用(盲猜),施加
the third class
imprint 刻录
compression technology 压缩技术
transmission media 传输介质
logical request 逻辑请求
system planning 系统规划
electronic pulses 电子脉冲
P2P 对等
public security 公共安全
interactivity 交互性
usability 可用性
in [the] light of 由于、鉴于
mainframes 大型机
分句法 ...
阿·贾克斯(Ajax)重要对象XMLHttpRequest
在不重新加载页面的情况下更新网页
在页面已加载后从服务器请求数据
在页面已加载后从服务器接收数据
在后台向服务器发送数据
发送相关请求GET、POST……
设置相关参数setRequestHeader();
服务端响应JSON数据1XMLHttpRequest.responseType = 'json';//将响应体的信息指定为json
请求超时与网络异常处理
设置它请求超时的时间
XMLHttpRequest.timeout = [时间:毫秒]
绑定事件句柄ontimeout
xhr.ontimeout = function(){};
取消请求要使用到它的一个方法:abort()
请求重复发送核心:需要一个标识变量(isSending)来标记请求是否正在发送
部分代码:
1234567let isSending = false;if(isSending){xhr.abort()};xhr.onreadystatechange = function()& ...
试试jQuery使用jQuery
引入文件(官网下载)
使用jQuery核心函数:$(function(){})
使用jQuery对象:$(“#xxx”),用此方法得到的是一个jQuery伪数组对象
参考文档https://jquery.cuishifeng.cn/
面试可能会问到的问题区别mouseover和mouseenter
mouseover:在移入子元素时也会触发,对应mouseout
mouseenter:只在移入当前元素时才触发,对应mouseleave
另外需要注意的是,hover()内部使用的就是mouseenter和mouseleave
区别on(‘click’,fun)和click(fun)
on支持动态绑定
click支持静态绑定不支持动态绑定
事件委派
将多个子元素的事件监听委托给父元素处理
监听回调加在父元素
当操作任何一个子元素,事件会冒泡到父元素
父元素不会直接处理,而是根据event.target(事件源)得到发生事件的子元素,通过这个子元素调用事件回调函数
$(‘父元素’).delegate(‘子元素’, ‘事件类型’, 事件回调函数 ...
关于盒子模型的不是笔记的笔记盒子模型,css将页面所有的元素设置成一个矩形的盒子,对页面的布局就变成将不同的盒子摆放到不同的位置
盒子的组成
内容区(content)
内边距(padding)
边框(border)
外边距(margin)
前三者决定了一个盒子的大小,最后一个决定了盒子与盒子之间的位置距离
盒子的水平布局元素的水平方向的布局:
元素在其父元素中水平方向的位置由以下几个属性共同决定
margin-left
border-left
padding-left
width
padding-right
border-right
margin-right
一个元素在其父元素中,水平布局必须满足(若不满足则称为过度约束):(上述七个属性之和=父元素内容区的宽度)
如果不满足,浏览器会自动调整margin-right的值使等式成立
若七个属性中有设置auto值,浏览器会自动调整auto的值使等式成立
盒子的垂直布局相邻的盒子的垂直外边距会发生折叠(块内元素)
兄弟元素
两者外边距都是正值会取较大值
一正一负,取两者和
都是负值,取绝对值大的
父子元素 ...







