this指向

this指向的四中情况在javascript里面,this的指向可以归纳为以下四种情况。只要能牢记这四种情况,大部分情况下就已经够用了。

1.在全局代码或者普通的函数调用中,this指向全局对象,在浏览器里面既为window对象

1
console.log(this);
//输出window
function foo(){
console.log(this);
}
foo();
//输出window

在浏览器环境里运行上述代码,两处输出结果均为window对象。

js dom

每个Window对象都有一个document属性指向Document
Document对象表示窗口的内容.

  1. 获取文档元素
    //ID
    //返回element
    document.getElementById(‘ID_K’);
    //Name
    //返回NodeList
    document.getElementsByName(“name_K”);
    //根据标签
    //返回HTMLCollection 在<>第六版第367页中写的是返回NodeList,但是查了官网API是返回HTMLCollection的.
    //因为HTML不区分大小写,所以这个也不区分大小写.
    var first_p = document.getElementsTagName(“p”)[0];
    first_p_span = first_p.getElementsTagName(“span”);
    //通过Class
    document.getElementsByClassName(“K container”);
    //通过CSS选择器 返回NodeList
    document.querySelectorAll(“#K div”);
    document.querySelector(“#K div”);
    //返回第一个匹配的.

oracle数据库

1
var oracledb = require('oracledb');
oracledb.getConnection( {
	user : "hr",
	password : "welcome",
	connectString : "localhost/XE"
},
function(err, connection) {
	if (err) {
	console.error(err.message);
	return;
	}
	connection.execute( "SELECT department_id, department_name " + "FROM departments " + "WHERE department_id = :did", [180], function(err, result) {
		if (err) {
			console.error(err.message);
		return;
		}
		console.log(result.rows);
	});
});

模块化进化

传统用法

Bower
$ bower install lodjs
$ bower install git://github.com/yanhaijing/lodjs.git
快速上手定义模块使用lodJS的全局函数define定义一个模块,例如在 mod.js中有如下代码:
define(function () {
return 123;
});

script异步加载

DOM 渲染流程要理解异步脚本载入的用处首先要了解浏览器渲染DOM的流程,以及各阶段用户体验的差别。 一般地,一个包含外部样式表文件和外部脚本文件的HTML载入和渲染过程是这样的:

  1. 浏览器下载HTML文件并开始解析DOM。
  2. 遇到样式表文件link[rel=stylesheet]时,将其加入资源文件下载队列,继续解析DOM。
  3. 遇到脚本文件时,暂停DOM解析并立即下载脚本文件。
  4. 下载结束后立即执行脚本,在脚本中可访问当前