重学JavaScript
未读前提:任何语言的核心都会描述这门语言最基本的工作原理,通常描述的内容会涉及到这门语言的语法 、操作符、数据类型、内置功能等用于构建复杂解决方案的基本概念。
1. 语法1、js 中的变量、函数名和操作符都区分大小写,
2、另外一些像typeof这些关键字也不能使用
2. 标识符
所谓标识符就是指变量、函数、属性的名字,或者函数的参数。
标识符的写法标准如下:
1、第一个字符必须是一个字母、下划线或者一个美元符号
2、其他字符可以是字母、下划线、美元符号或数字
3、标识符中的字母采用驼峰大小写格式,例如:firstSecond、myCar
3. 注释
js的注释包括单行注释和块级注释,单行注释两个反斜杠开头,块级注释则是以(/)开始以(/)结束
单行注释
// 注释
块级注释
/*
块级注释
*/
4. 语句
在js中语句是以分毫结尾但是不是必须的,但是推荐还是写上分号。因为这样在压缩代码的时候就不会出现不必要的问题。
5. 关键字和保留字
在js中有一些特定的关键字,这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等,关键字 ...
Life
未读周末天气很好呀,不能一直闷在家里,能得的好天气,肯定要出去玩耍的啦。
周围夏天的气息越来越浓烈,乘着温度还没有那么高,带着帐篷,与大自然来一次亲密的接触。
周围的风景也是很好,很安静,夕阳很美呀。
夕阳西下
野花很漂亮呀
太阳快下山了
回家吃晚饭啦
Node系列
未读1. http模块
用来搭建本地服务器
const http = require('http'),
http.createServer创建一个服务。
2. fs文件系统模块
赋予node读取本地文件的能力
const fs = require('fs');
fs.writeFile(path, fileData, cb) // 写入文件
fs.readFile(path, cb) // 读取文件
3. path路径模块
用来处理路径相关
const path = require('path')
let str = '/c/dir/index.html'
console.log(path.dirname(str))
path.resolve() // 路径解析,用来拼合路径,返回一个绝对路径
4. ur模块
用来处理网址相关,或者用来获取地址路径或参数
const url = require('url')
let site = 'http://www.a.cn/a/b/i ...
重学JavaScript
未读
1. 如何在页面中使用JavaScript
现在在HTML中使用JS 的方法主要是通过在页面插入 标签 引入外部文件,另外一种是为 指定type属性然后把js代码放在闭合标签中即可。如下:
参数:
charset - 指定 src 属性的代码字符集,一般为utf-8
defer - 表示代码可以延迟到DOM完成加载之后在执行
src - 外部引入js文件的路径
type - 表示代码使用的脚本语言类型,一般为 text/javascript
外部引入:
元素内部使用方法:
<script type="text/javascript">
alert('abc')
</script>
注意事项:1、包含在 script 中的代码将依次从上往下依次执行
2、值得注意的是在js代码解析的过程中页面中其他内容将不会被加载和解析,直到该段js执行完成。
3、在书写的过程要注意,在script代码块中,不能在代码闭合标签 之前在出现闭合标签,这样会导致代码产生错误。
4、外部引用js的时候闭合标签可以省略 ...
1. Node.js EventEmitter
Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。Node.js 中许多对象都会分发事件。一个net.Server对象会在每次有新连接时触发一个事件,而另外一个 fs.readStream对象会在文件被打开的时候触发一个事件,所有的这些产生的事件对象都是 events.EventEmitter的实例。
EventEmitter 类
events 模块只提供了一个对象:events.EventEmitter。events.EventEmitter的核心就是事件触发和事件监听器功能的封装。你可以通过 require(‘events’)来使用该模块,如下:
// 引入 events 模块
var events = require('events');
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();
EventEmitter对象如果在实例化的时候发生错误,将会触发 error 事件。当添加新的监听器的 ...
ES6入门系列
未读1. Object.is()
用来解决在ES5中 两种相等运算符的缺点。用来比较两个值是否严格相等,行为和(===)基本一致。
在ES5中判断两个值是否相等,只能用(==)相等运算符和(===)严格相等运算符,但是这两货都有缺点,前者 两边的值都会转换数据类型,后者 NaN不等于自身还有 +0 == -0。
Object.is('foo', 'foo') // true
Object.is({}, {}) // false
// 在 Object.is()
+0 === -0 // true
NaN === NaN // false
Object.is(+0, -0) // false
Object.is(NaN, NaN) // true
2. Object.assign()
用于对象的合并,将源对象的所有可枚举属性,复制到目标对象,现在常用来进行浅拷贝。
const t = {a ...
ES6入门系列
未读1. 属性的简洁表示法
在ES6中 允许直接写入变量和函数,作为对象的属性和方法,使得代码的书写更为简洁。
const f = 'a'
const b = {f}
b // {f: 'a'}
等同于
const b = {f: f}
在ES6中允许在对象内直接写变量,这时候属性名为变量名,属性值就是变量值
function u(x, y){
return {x, y}
}
// ====
function u(x, y){
return {x: x, y: y }
}
u(1, 2) // {x:1, y: 2}
或者一下写法:
function o() {
const x = 1;
const x = 2;
return {x, y}
}
o() // {x:1, y:2} ...
Node系列
未读1. node.js 回调函数
node.js 的异步编程思想最直接的体现就是回调,在node中大量使用了回调函数,所有的API都支持回调函数,回调函数一般作为最后一个参数出现,正因为这样node在执行代码的时候就没有阻塞或者等待的操作,提高了node的性能,可以处理大量的并发请求。
function f1(name, age, callback){}
function f2(name, callback, callback2){}
阻塞代码实例创建一个文件input.txt内容如下:
这是一个阻塞代码的实例
创建 node.js:
var fs = require('fs');
var data = fs.readFileSync('input.txt')
console.log(data.toString())
console.log('程序执行结束!')
结果如下:
这是一个阻塞代码的实例
程序执行结束!
如上:阻塞代码就是需要等待前面的代码执行完成后才能继续往后执行。 ...
重学JavaScript
未读
JavaScript是一种专门为网页交互而设计的脚本语言,主要由三个不同的部分组成。
1. ECMAScript由ECMA-262 定义,提供核心语言功能
2. 文档对象模型DOM(提供访问和操作网页内容的方法和接口)
DOM 是针对于XML和已经扩展用于HTML的应用程序,DOM把整个页面映射为一个多层节点结构,这些节点又包含不同类型的数据,通过DOM的创建,我们可以获得页面的控制权,删除、添加、替换任何节点。
2.1 DOM级别2.1.1 DOM1由DOM核心和DOM HTML组成, DOM核心规定如何映射基于XML的文档结构,DOM HTML 则在DOM核心的基础上加以扩展,添加针对HTML的对象和方法。
2.1.2 DOM2DOM2在DOM1的基础上增加了 DOM视图、事件、样式、遍历和范围等功能
2.1.3 DOM3DOM3在DOM2的基础上进一步的引入了统一方式加载和文档保存的方法
3. 浏览器对象模型(BOM)
BOM 只处理浏览器窗口和框架,提供浏览器交互和方法,以及如下功能:
弹窗新浏览器窗口的功能
移动、缩放和关闭浏览器窗口的功能
提供浏览器详细信息 ...
1. flex (弹性布局)
主要提供简便、完整、响应式布局解决方法,设置flex布局后元素的 float、clear、vertical-align属性将失效
主要参数:
flex-direaction
决定主轴的方向
- 参数:
- row(默认值): 主轴为水平方向,起点在左端
- row-reverse: 同上,起点在右端
- column: 主轴为垂直方向,起点在上方
- column-reverse: 同上,起点在下方
flex-wrap
如果默认轴线排序不下,则换行
- 参数:
- nowrap(默认): 不换行
- wrap: 换行,第一行在上方
- wrap-reverse: 换行,第一行在下方
flex-flow
是flex-direaction 和 flex-wrap的简写
justify-content
在主轴(水平)上的对齐方式
- 参数:
- flex ...