javascript中对象的直接属性和__proto__属性

先补充下 __proto__ 和prototype的知识。

对象的内部原型( __proto__ )和构造器的原型(prototype)。

所有构造器/函数(包含自定义)的 __proto__ 都是指向Function.prototype这样一个空函数(typeof Function.prototype===’function’ ->true)的,而Math和JSON这样以对象形式存在的,他们的__proto__是Object.prototype.
继续深入有

1
Function.prototype.__proto__ === Object.prototype;

,而

1
Object.prototype.__proto__ === null

所有构造器的实例对象的 __proto__ 都是指向其构造器的 prototype

javascript的一些怪点

null作为对象却不是实例

1
typeof null==='object' ->true

可以看到,null确实是一个对象,可它是一个完全没有意义的对象,没有任何属性和方法。
我们还知道,所有对象都是Object的实例,那么null是吗?

ubuntu重建ESP引导

加固态的时候,把windows完全安装在了固态上,然后就把原来的C盘直接格式化,连带着旧的引导分区都给格式化没了,后来就没法启动Ubuntu。
要恢复引导,不是简单的修复,从ESP分区里链接上ubuntu的efi启动就行,必须得重建ubuntu的ESP引导。实际环境是:

ESP分区:

1
2
3
4
- EFI/
- boot/ //efi启动文件
- Microsoft/ //各种字体图标的资源文件和boot内的启动efi文件
- (ubuntu/) //现在是没有的,目标是生成这个文件夹,只要有这个文件夹就一切好办

可以看到根本没有ubuntu的引导文件,所以网上说的refind,easyUEFI等等是不行的。

ajax提交含文件表单

使用ajax和后台交换数据是web开发中常用的手段,jquery也提供了很方便的使用方法.如$.ajax()等.
但是,交换的数据经常是表单,当表单中有文件的时候,普通的ajax手段就不好使了.这时候,可以使用formdata来进行文件的ajax.

,