- js实现语言继承的核心是 prototype
subTyoe.prototype = new superType();
通过创建一个superType实例来实现继承 - javascript 解析引擎在读取一个Object的属性的值时会沿着原型链向上找,如果没有找到,则该属性值为undefined
- 什么属性会让div脱离文档流?
-
float
float是半脱离 还可以有文字环绕效果 -
absolute
fix
完全脱离文档流 文字会跑到元素下面去 - 二叉排序树
- 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值
- 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值
- 它的左、右子树也分别为二叉排序树。
就像这样
求二叉排序树的平均查找长度 - 先构造二叉查找树
- (每层的个数x层数)/ 总个数
- HTML form 的enctype属性
enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。
默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)
enctype的属性值有三个
application/x-www-form-urlencoded : 在发送前编码所有字符(默认)
multipart/form-data : 不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
text/plain : 空格转换为 "+" 加号,但不对特殊字符编码。
-
伙伴地址
哈哈哈 一脸蒙蔽
原来是Linux内存管理的一种方式
原理不讲 讲点吧
就是一种算法吧内存分成11个量级的链表
分别是1,2,4,8,16,32,64,128,256,512,1024.
就为了方便申请合适大的内存
如果出现小的页面满了 就会找大的页面 比如我要找一个256的页面,满了就会找512,如果找到就会拿出256来用,剩下的256就会插入到256的链表中。
下面将计算伙伴地址满足以下条件的两个块称为伙伴:
两个快具有相同的大小,记作 b
它们的物理地址是连续的
第一块的第一个页框的物理地址是 2 * b * 2^12 的倍数举个具体题目的例子
二进制地址为011011110000,大小为4(10进制数)和16(10进制数)块的伙伴地址分别为:
怎么算呢
我们先看大小为4的
用这个地址除以24 我们知道2进制除以8就是减三个0
发现可以整除
那这个就是第一个框的地址 它的伙伴地址就是它+4
就是011011110100
然后再看大小是16的
用这个地址除以216 32是减5个0 发现不能整除 所以说他的伙伴地址是前面那一块的首地址
就应该是-16 得011011100000 这个数明显就可以被32整除
就这么简单。 -
cookies的各种属性
我们都知道cookies就是浏览器用来维持会话的一种方法,一段纯文本。
那么cookies都有哪些属性呢- expries cookie的过期时间
- domain 关联的域名 如果domain的域名和请求的不一致那就会被忽略
- path path的值会与url中的值进行比对 假如path = /blog 如果你url中有/blog 或者/blogxxxxx 都会触发cookie的发送
- secure 没有值只是一个标记 如果有这个标记那么只有一个请求通过SSL或HTTPS创建cookie才能被发到服务器
-
HttpOnly 如果有这个标记那么客户端JS就无法用
document.cookie
来获取cookie
-
Linux 查看进程号
ps命令
ps -ef |grep 进程名 -
正则表达式的元字符(常用的)
- \d 匹配一个数字 等价于 [0-9]
- \D 匹配一个非数字 等价于 [^0-9]
- \s 匹配一个空白字符 等价于 [ \f\n\r\t\v]
- \w 匹配包括下划线的任何单词字符 等价于[A-Za-z0-9_]
- 大写就是非小写匹配的字符
- 浏览器内多标签页如何进行通信
- 使用localStorage
先来介绍下localStorage这个东西
因为cookie不适合大量数据的存储,所以有了localStorage
对于不同的网站,数据存储于不同的区域,并且一个网站只能访问其自身的数据
我们可以通过window.localStorage 来获得localStorage
通过setItem()
getItem()
removeItem()
来修改数据
可以通过监听storage事件来监测localStorage数据的变化
window.addEventListener("storage",handle_storage)
- 使用cookie
一个浏览器的所有标签页都是可以共享持久cookie的,但是只有同源的标签页可以共享 - window.postMessage()
有两个参数
data : 要传递的数据 可以是js的任何类型或者可复制的对象
orign : 目标窗口的源
接受postMessage()的消息。
监听message事件 - 使用window.name
window对象有个name属性,该属性有个特征:即在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的。
网友评论