前言:这些js的内容笔记都是我根据黑马课程自己精炼的,也只是想着一边学习一边记录。
浏览器分成两部分组成
--渲染引擎和js引擎
渲染引擎:用来解析HTML与CSS,俗称内核,比如chrome浏览器的blink,老版本的webkit
js引擎:也称为JS解释器,用来读取网页中的JavaScript代码,对其处理后运行,比如chrome浏览器的V8
浏览器本身并不会执行js代码,而是通过内置JavaScript引擎(解释器)来执行JS代码,js引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScript语言归为脚本语言,会逐行解释执行。
JS组成
1.ECMAScript
ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为 JavaScript 或 JScript,但实际上后两者是 ECMAScript 语言的实现和扩展。
ECMAScript: ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
2.DOM ——文档对象模型
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
3.BOM ——浏览器对象模型
BOM (Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
注释
单行注释://
多行注释:/**/
三种打印输出方式
// 输入框
prompt('请输入你的学号');
//弹出警示框 输出的 展示给用户的
alert('永远相信美好的事情即将来临');
//控制台打印信息 给程序员看的
console.log('这里是控制台信息');
变量
变量声明:var age,let (ES6 重要 以后使用let了)
声明变量特殊情况
声明不赋值
let sex; //undefined
不声明直接赋值
qq = 2995404392;//可以直接使用(全局变量,不推荐使用这种方式)
js属于一种弱类型语言,变量在给值的时候才会去确定类型。
js动态语言属于变量数据类型是可以变换的
数字型:
<script>
let num = 10;//num型数字
let PI = 3.14;//PI 数字型
//1.八进制0~7 我们程序里面数字前面加0表示八进制
let num1 = 010;
console.log(num1);//010 转十进制 8
let num2 = 012;
console.log(num2);
//2.十六进制 0~9 a~f
let num3 = 0xb;
console.log(num3);
//数字型最大值
console.log(Number.MAX_VALUE);
//数字型最小值
console.log(Number.MIN_VALUE);
//无穷大
console.log(Number.MAX_VALUE*2);//Infinity
//无穷小
console.log(-Number.MIN_VALUE*2);//-Infinity
//非数字
console.log('warm'-100);//NaN
//isNaN() 这个方法用来判断非数字 并且返回一个值,如果是数字返回的是false,如果不是数字返回的是true
console.log(isNaN(12));//false
console.log(isNaN('shuzi'));//ture
</script>
字符串类型
<script>
//字符串转义字符
/*
\n 换行
\\ 单斜杠
\' 单引号
\" 双引号
\t tab缩进
\b 空格,blank
*/
//1.检测获取字符串类型的长度 length
let str = 'TIwarm';
alert.length(str);
//2.字符串拼接
console.log('你好!'+'warm');
console.log('你好'+true);
console.log(12+12);
console.log('12'+12);
</script>
布尔值类型
<script>
let flag = true;
let flag1 = false;
console.log(flag+1);//true参与加法运算当1来看
console.log(flag1+1);//false参加加法运算当0来看
let variable = undefined;
console.log(variable+1);//NaN 结果不是一个数字
let space = null;
console.log(space+'pink')//nullpink
console.log(space+1);//1
</script>
查看数据类型值--typeof
let num =10;
console.log(typeof num);
数据类型转换
其他转字符串
1.tostring()
例:var num = 1;
alert(num.toString());
2.String()强制类型转换
例:var num = 1;
alert(String(num));
3.加号拼接字符串
例:var num = 1;
alert(num+'我是');
转数字型
1.parseInt(变量) 可以把字符型的转换为数字型 得到的是整数
var age = prompt('请输入您的年龄');
console.log(parseInt(age));
2.parseFloat(变量) 可以把字符型转换为数字型,得到的是小数 浮点数
console.log(parseFloat('3.14'));
3.利用Number(变量)
console.log(Number('123'));
4.利用了算数运算 - * / 隐式转换
转布尔型
下面那几个特殊的false值其实我列出来了
Boolean()函数;
console.log(Boolean(''));//false
console.log(Boolean(0));//false
console.log(Boolean(NaN));//false
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
console.log(Boolean('123'));//true
console.log(Boolean('你好'));//true