JavaScript再学习笔记(持续更新)

这一段时间做了一些笔试题,也上leetcode做了一些题,发现自己的编程能力还是太差了,对原生js的整我有些惨不忍睹,所觉得再次学一遍js弥补一下自己在这方面的不足。

这是二次学习的笔记:

JS的作用:
1 表单动态校验(密码强度检测)(js最初的目的)
2 网页特效
3 服务端开发(Node.js)
4 桌面开发(Electron)
5 App(Cordova)
6 控制硬件-物联网(Ruff)
7 游戏开发(cocos2d-js)

浏览器怎么执行JS:
浏览器分为两部分:
1 渲染引擎:用来解析HTML和CSS,俗称内核,比如Chrome浏览器的blink,老版本的webkit。
2 JS引擎:也称为JS解释器,用来读取网页中的JavaScript代码,对其处理后运行,比如Chrome浏览器的V8。

JS组成:
ECMAScript: JavaScript语法
DOM: 页面文档对象模型
BOM: 浏览器对象模型

ECMAScript组成:
JavaScript网景公司
Jscript微软公司

DOM:文档对象模型:是W3C组织推荐的处理可拓展标记语言的标准编程接口
BOM:浏览器对象模型:提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。

快速注释的快捷键:
单行注释:ctrl + /
多行注释:shift + alt + a

js的输入输出语句:

alert(msg)

浏览器弹出警示框

console.log(msg)

浏览器控制台打印输出信息

prompt(info) 

浏览器弹出输入框,用户可以输入

var:variable生命变量,使用后计算机会自动给变量分配空间;
声明变量并直接赋值称为变量的初始化;

更新变量:一个变量被赋值后,他原有的值就会被覆盖,变量值将以最后一次赋值为准

声明多个变量:

var age = 18,address = '火影村',name = '旗木卡卡西';

变量声明的特殊情况:
1 var age; console.log(age); 只声明不赋值 结果:undefined
2 console.log(age); 不声明 不赋值 直接使用 结果:报错
3 age = 10;console.log(age); 不声明 直接使用 结果:10
方法3 不推荐使用,虽然可以用;

JavaScript中的数据类型由所赋的值来确定
JavaScript是一种弱类型的语言或者说是动态类型的语言;
JavaScript拥有动态类型,同时也意味着相同的变量可用作不同的类型
JavaScript把数据类型分为两类:
简单数字类型:number,string,boolean,undefined,null
number:数字型,包含整型值和浮点型值
如要输出八进制的数值 给适当数值前加0;
如要输出十六进制的数值 给适当数值前加0x;
数字型中的最大值:alert(Number.MAX_VALUE);
数字型中的最小值:alert(Number.MIN_VALUE);
数字型的三个特殊值:
alert(Infinity); //Infinity(代表吴无穷大,大于任何值)
alert(-Infinity); //-Infinity(代表吴无穷小,小于任何值)
alert(NaN); //NaN

string:字符串型,带引号
因为html中使用双引号,js代码中推荐使用单引号;
boolean:布尔值类型,true(1),false(0)
boolean值参与加法运算,true当1看,false当0看
undefined(未定义数据类型):未赋值
undefined与字符串相加为一个字符串
undefined与数字相加为一个NaN
null:空值
复杂数据类型:object

使用 isNaN(); 这个方法来判断非数字
是非数字:返回true
是数字:返回false

字符串中的转义符:(需要在字符串中才可以使用)
\n 换行符,n是newline的意思
\ 斜杠
’ '单引号
" "双引号
\t tab缩进
\b 空格,b是blank 的意思

字符串拼接:
多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任意类型 = 拼接之后的新字符串
prompt取过来的的值是字符型的

控制台console输出的字体的颜色也可以判断数据的类型
蓝色:数值型
黑色:字符串型
深蓝色:布尔型
浅蓝色:undefined型和对象型

字面量:字面量是在源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值。

数据额类型的转换:
1 转换成字符串类型:
toString()`(隐式转换) 转换成字符串

var num = 1;alert(num.toString());

String() 转换成字符串

var num = 1;alert(String(num));

拼接法 使用字符串+其他类型值,拼接成新字符串的方法

2 转换成数字型:
parseInt(string)函数 将string类型转换成整数值型 parseInt('78')
parseFloat(string)函数 将string类型转换成浮点数值型 parseFloat('78.21')
Number()强制转换函数 将string类型转换为数值型 Number(‘12’)

js隐式转换(- * /) 利用算数隐式转换为数字型 ‘12’ - 0 会将字符串转换成数字型然后进行计算

3 转换成布尔值:
Boolean()函数 其他类型转换为布尔值

Boolean('true');

代表空、否定的值会被转换为false,如:’’、0、NaN、null、undefined

编译型语言:编译完成后执行代码
解释性语言:编译一句执行一句

运算符(operator):
算数运算符:+(加)、-(减)、*(乘)、/(除)、%(取余\取模)(判断一个数是不是整数)
递增和递减运算符:++(递增)、–(递减),这两个运算符可以放在变量前面(前置变量),也可以放在变量后面(后置变量)
前置递增递减运算: ++age 相当于 age = age + 1

console.log(++age  + 10);  //21

后置递增递减运算: age++ 相当于 age = age + 1

console.log(age++  + 10);  //20

前置自增和后置自增单独使用是一样的,前置是 先自加,再返回值 后置是 先返回值,再自加
比较运算符:
逻辑运算符:
赋值运算符:

尽量避免直接使用小数进行运算。

console.log(0.1 + 0.2);	//0.300000000000004

19.9.15
先到这里;

你可能感兴趣的:(JavaScript)