最后
如果你已经下定决心要转行做编程行业,在最开始的时候就要对自己的学习有一个基本的规划,还要对这个行业的技术需求有一个基本的了解。有一个已就业为目的的学习目标,然后为之努力,坚持到底。如果你有幸看到这篇文章,希望对你有所帮助,祝你转行成功。
参考内容:
-
日常工作总结
-
日常学习总结《JavaScript 语言精粹》
===============================================================================
-
false
-
null
-
undefined
-
’ ’ 空字符串
-
数字 0
-
数字 NAN
其余的都是真
===========================================================================
现在有个列表是根据一个字段 a 来进行排序的,但是现在需求改了,需要使用字段 b 来排序。经过排查,发现字段 a 和 字段 b 均从服务端以 JSON 传递而来的。刚开始我还
JavaScript API
localeCompare
我们使用了 StringObject.localeCompare(target) 进行字符串排序
StringObject 比 target 小,则返回 小于 0 的数,反之
let str = ['2','1','3']
str.sort((a,b) => {
return a.localeCompare.b;
})
得到
['1','2','3']
================================================================================
这里一般用于后台管理系统删除元素,通过 ajax 删除实现
deleteLink (id) {
let arr = this.page.list // 获取得到的数组
arr.forEach((item, index, res) => {
if (item.linkId == id) {
res.splice(index,1) // 修改返回的新数组,res 会赋值给 this.page.list
}
})
}
===========================================================================
let user = {
name: "Gorit",
age: 18
}
user["name"] = Gorit
user.age =18
==============================================================================
关键词
-
原型链
-
正则表达式
以下在 Node.js 环境中进行测试
-
基于 JavaScript 原型链继承动态本质,新增的方法会被赋予到所有的对象实例上
-
扩展类型的功能,给 JavaScript 的基本类型增加额外的功能。我们只需要通过 Object.prototype 添加方法,即可对函数、数组、字符串、数字、正则表达式和 布尔表达式同样适用
// 一个小技巧,通过给 Function.prototype 添加 method 方法,下次给对象添加方法就不必输入 prototype了
Function.prototype.method = function(name, func) {
// 为防止和其他公共的类库混用,符合条件时才增加
if (!this.prototype[name]) {
this.prototype[name] = func;
}
return this;
}
使用示例:
/**
-
JavaScript 没有提供处理 整数的函数,我们给 Number.prototype 增加一个 integer 方法。根据数字正负来判断 Math.ceiling 还是 Math.floor
-
小于 0 向上取整,大于 0 向下取整
-
不能用箭头函数
*/
Number.method('integer',function() {
return Maththis < 0 ? 'ceil' : 'floor';
})
console.log((-10 / 3).integer()); // -3
/**
-
JavaScript 缺少一个移除字符串首尾空白的方法,这个小疏忽比较容易弥补
-
正则表达式 \s是指空白,包括空格、换行、tab缩进等所有的空白 \S 相反
-
/ ... / 正则表达式包裹
-
\s+ 表示任意多个
-
| 表示两边随机选一个
-
^ 从头开始匹配
-
$ 匹配到结尾
-
g 表示适配所有可能的情况
*/
// 算法题:实现字符串的 trim() 方法
String.method('trim', function() {
return this.replace(/^\s+|\s+$/g, '');
})
console.log(" dwdwd ".trim()); // Node 环境使用
// document.write(" dwdwd ".trim()) HTML 中使用
==========================================================================
汉诺塔问题不清楚的同学可以去4399 小游戏上体验一下,实现代码如下:
// count 表示盘子数量
let hanio = (count, src, aux, dst) => {
if (count <= 0) return;
hanio ( count - 1, src , dst , aux);
console.log ('Move disc ' + count + ' from ' + src + ' to ' + dst);
hanio( count - 1, aux, src , dst);
};
hanio(2, 'A', 'B', 'C');
===================================================================
/**
-
闭包
-
js 函数内部可以读取全局变量,外部无法读取函数内部的局部变量
*/
let n = 1000;
function f1 () {
console.log(n);
HTTP
-
HTTP 报文结构是怎样的?
-
HTTP有哪些请求方法?
-
GET 和 POST 有什么区别?
-
如何理解 URI?
-
如何理解 HTTP 状态码?
-
简要概括一下 HTTP 的特点?HTTP 有哪些缺点?
-
对 Accept 系列字段了解多少?
-
对于定长和不定长的数据,HTTP 是怎么传输的?
-
HTTP 如何处理大文件的传输?
-
HTTP 中如何处理表单数据的提交?
-
HTTP1.1 如何解决 HTTP 的队头阻塞问题?
-
对 Cookie 了解多少?
-
如何理解 HTTP 代理?
-
如何理解 HTTP 缓存及缓存代理?
-
为什么产生代理缓存?
-
源服务器的缓存控制
-
客户端的缓存控制
-
什么是跨域?浏览器如何拦截响应?如何解决?