8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

HTML5新的 API

1. 全屏API(Fullscreen API)

该API允许开发者以编程方式将Web应用程序全屏运行,使Web应用程序更像本地应用程序。

// 找到适合浏览器的全屏方法

function (element){
if(element.requestFullScreen) {
element.requestFullScreen();
} elseif(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} elseif(element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
}
}

// 启动全屏模式

launchFullScreen(document.documentElement);
launchFullScreen(document.getElementById("videoElement")); // any individual element

2. 页面可见性API(Page Visibility API)

该API可以用来检测页面对于用户的可见性,即返回用户当前浏览的页面或标签的状态变化。

// 设置隐藏属性和可见改变事件的名称,属性需要加浏览器前缀
// since some browsers only offer vendor-prefixed support
var hidden, state, visibilityChange;
if(typeof document.hidden !== "undefined") {
hidden = "hidden";
visibilityChange = "visibilitychange";
state = "visibilityState";
} elseif(typeof document.mozHidden !== "undefined") {
hidden = "mozHidden";
visibilityChange = "mozvisibilitychange";
state = "mozVisibilityState";
} elseif(typeof document.msHidden !== "undefined") {
hidden = "msHidden";
visibilityChange = "msvisibilitychange";
state = "msVisibilityState";
} elseif(typeof document.webkitHidden !== "undefined") {
hidden = "webkitHidden";
visibilityChange = "webkitvisibilitychange";
state = "webkitVisibilityState";
}
// 添加一个标题改变的监听器
document.addEventListener(visibilityChange, function(e){
// 开始或停止状态处理
}, false);

3. getUserMedia API

该API允许Web应用程序访问摄像头和麦克风,而无需使用插件。

// 设置事件监听器

window.addEventListener("DOMContentLoaded", function(){
// 获取元素
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
videoObj = { "video": true},
errBack = function(error){
console.log("Video capture error: ", error.code);
};
// 设置video监听器
if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function(stream){
video.src = stream;
video.play();
}, errBack);
} elseif(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
}
}, false);

4. 电池API(Battery API)

这是一个针对移动设备应用程序的API,主要用于检测设备电池信息。

var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery;
// 电池属性
console.warn("Battery charging: ", battery.charging); // true
console.warn("Battery level: ", battery.level); // 0.58
console.warn("Battery discharging time: ", battery.dischargingTime);
console.warn("Battery charging time: ", battery.dischargingTime);
// 添加事件监听器
battery.addEventListener("chargingchange", function(e){
console.warn("Battery charge change: ", battery.charging);
}, false);

5. Link Prefetching

预加载网页内容,为浏览者提供一个平滑的浏览体验。


”==”和“===”的不同

“===”

三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false。

例:

100==="100" //返回false
abc==='abc' //返回false
'abc'==="abc" //返回true
NaN===NaN //返回false
false===false //返回true

“==”

两个等号我们称为等值符,当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较。

类型转换规则:

1)如果等号两边是boolean、string、number三者中任意两者进行比较时,优先转换为数字进行比较。

2)如果等号两边出现了null或undefined,null和undefined除了和自己相等,就彼此相等

例:

100==“100” //返回true
1==true //返回true
“1”==“01” //返回false,此处等号两边值得类型相同,不要再转换类型了!!
NaN==NaN //返回false,NaN和所有值包括自己都不相等。