前言
在公司呆了快三年了,准备提升下,进阶下自己。一直以来做的 是全栈偏前端的工作,最近也有换公司的想法。在这边做下知识点整理。
由于之前工作水平一般,做的事情也比较杂,有做过ssh框架,也有springmvc,做过extjs,也做过bootstrap,但是都不深入也没有一个很好的整理。其实有过想要从前端转后台的想法,网上找了很多大神的意见,最终还是决定坚持下来做前端吧!!希望有所成就!!
正文
开始整理了 不定期更新!!
先整理下 js的 基础吧
ecmascript语法(一直都不知道这个。。。还百度查了读法。羞耻感。。艾克马script)
1.js的变量、函数名、运算符以及其他一切东西是区分大小写,也就是说大小写敏感的。test和TEST不两个不同的变量
2.变量弱类型,用var运算符定义变量,js变量可以定义为任何值,可以随时改变变量所存数据的类型。
3.语句结尾可以是分号,也可以不加分号。当没有分号时,ecmascript以换行符作为判断语句结束的标志
有些乱。。
先看完一遍javascript权威指南吧!!
1.+运算符可以对数值做运算,也能将两个字符串做连接
2.函数是带有名称(函数的固定标识,用于调用等操作)(name)和参数的javascript代码段。运算符function来申明函数,()中添加函数的入参,用{}包裹函数的代码块。
3.函数是一种值(一种值的类型),可以赋值给变量,当函数赋值给变量时,则不需要在function后 定义函数名称,此时变量名称既是函数名称。
4.当函数被赋值成变量的属性的时,函数就变成了“方法”,所有的javascript对象都含有方法(书里的原话!)
第二次整理目录知识
html引入javascript库
js对css样式操作,display = 'none' 隐藏元素,所占空间也随之消失。visibility = 'hidden' 隐藏元素,所占空间保留
第二章
1.javascript是区分大小写的,html不区分大小写,所有会导致部分js定义的html空间重名
2.直接量,程序中所直接使用的数据值
3.标识符就是一个名字,标识符被用来对变量和函数进行命名,或者用作某些循环语句的跳转标识。
4.标识符定义规范是,首字符必须是字母,下划线(_),美元符($),后续字符可以为字母,数字,下划线,美元符。(数字不允许出现在首字符,以便JavaScript区分标识符和数值)
5.javascript 保留字
var functionreturntypeofifelse
for do while switch case delete
in catch this void continue false
true instanceofthrowdebugger
finally newwithdefaultnulltry
6.ECMAScript5保留关键字:
class const enumexportextendsimportsuper
第三章
1.js所有数字均为浮点数值。
2.js算术运算
Math.pow(2,53) 幂运算,2的53次幂
Math.round(.6) 四舍五入
Math.ceil(.6) 向上求整
Math.floor(.6) 向下求整
Math.abs(-5) 求绝对值
Math.max(x,y,z) 返回最大值 0 或多个值。在 ECMASCript v3 之前,该方法只有两个参数。
Math.min(x,y,z) 返回最小值
3.Infinity(无穷大)表示溢出 0,-0 表示 下溢。js中被零整除返回 (+-)Infinity
4.NaN --》 not a Number
5.时间与日期 Date() 构造函数用来创建日期与时间对象
6.RegExp()创建表示文本匹配模式的对象
第三章
javascript函数的作用域和声明提前
{}(花括号)中的代码块表示函数的作用域(英文更好理解function scope 方法范围)。
变量在声明它们的函数体以及这个函数体嵌套的任意函数体内的都是有定义的。
声明提前
javasrcipt的作用域是指在函数内声明的所有变量在函数体内始终可见的。
例:
var a= 'test';
function(){
console.log(a); //输出为undefined (全局变量被局部变量覆盖)
var a = 'test2';
console.log(a);//输出为test2
}
声明提前--》javascript函数里声明的所有变量都被提前至函数体顶部!! 但不涉及赋值,也就是说上述代码中 var a = 'test2'; 被拆分成 var a; 放置函数体顶部。 a='test2'; 在原代码位置(可能表述的不准确,既原代码 var a = 'test2'; 位置)。
所以例子中的代码可理解为:
var a = 'test';
function(){
var a;
console.log(a);
a = 'test2';
console.log(a);
}
总结:在javascript中 将变量声明放在函数体的顶部,利于反应代码真实的可读性。