js基础01

时间:2023-03-09 05:30:02
js基础01

常见的五大浏览器:chrome firfox ie opera safari

浏览器的解析器会把代码解析成用户所能看到的东西

www.2cto.com/kf/201202/118111.html浏览器工作原理

js的组成以及特点

JavaScript简称为JS
js的组成:ECMAScript标准----基本的语法和对象
DOM:Document Object model 文档对象模型
Bom:broswer Object model 浏览器对象模型

JS是一门脚本语言:不需要编译
编译:把代码转换成计算机所认知的二进制语言
JS是一门弱类语言:声明变量都用Var
JS是一门动态语言:变量可以认知当前的这个变量到底是什么类型
JS是一门解释性语言

JS拥有跨平台性

JS原名是LiveScript

布莱登.艾奇

JS最初的目的:解决浏览器和服务器之间交互的问题(比如:验证密码)
JS现在能做什么?
交互问题、特效、游戏、移动APP开发

HTML:展示信息
CSS:美化页面
JS:实现浏览器和服务器交互,有计算和验证的能力
CMD t-sql vbscript都属于脚本语言,不需要编译

JS点出来的东西未必能用,点不出来的东西或许可以用

JS的基本注意问题
1.声明变量有大小写之分;var n=10;console.log(N);
2.弱类型语言,声明都用var
3.字符串用单引号或者双引号都可以(JS中的单引号或者双引号都表示字符串)
推荐用双引号(逼不得已用单引号---和DOM结合的时候,和html嵌套的时候)
4.每行代码结束用分号

js重的注释:
1.单行注释//
2.多行注释/* 注释的内容 */

HTML重的注释<!-- -->
css中的注释和JS中的多行注释一样
注释中的代码不解析不执行

JS的代码在哪写:在script中写,可以卸载HTML页面重的任何位置,一般在head标签中写,也在body标签中写(一般放在body最后),可以写多个script
JS可以外链

js代码注意事项:如果在script代码出错了,会影响到该对的script标签后面的代码执行
但不会影响后面的script标签中的内容

不要再引入外部的js文件的script
内嵌的script不易于开发和维护

异步和同步:
异步:多个人做多件事
同步:一个人有顺序的做多件事

script标签中有两个属性:async defer 都是异步
async属性的值就是自己 :页面加载就开始下载文件,下载完毕后立刻执行
defer属性就是自己:页面执行完毕后再开始下载文件,然后执行

一般在html标签中如果属性和值就是自己,并且只有一个,那么值可以省略

异或运算
10 1010
20 10100
相同则为0 不同则为1

num1 = num1^num2 1010
10100
11110=30

num2=num1^num2
11110
10100
01010=10

num1=num1^num2
11110
1010
10100=20
console.log(num1,num2);

变量名命名的规范:由字母,下划线或者$符号开头,中间包含
字母、下划线或者$或者数字;推荐变量名最好不要以$符号开头--
--要学习JQ,里面都是$符号开头

变量名要有意义,最好用单词,如果单词不会用拼音,千万不要用简写的方式
变量名都是小写的,如果这个变量名是多个单词组合的,那么第一个单词的第一个字母与
要小写,后面的单词的第一恶字母要大写----驼峰命名法

变量的初始化:声明一个变量并且赋值
js重的原始数据类型:Number String Boolean Null undefined Object
Null值只有一个null
undefined类型的值只有一个undefined
boolean(bool)布尔类型,值有两个:true false 1或0 ,针或者假
一般1表示男 0 表示女

什么情况下变量值为undefined,结果为undefined,未定义的情况下
如果一个函数没有明确的返回值,接收结果了,也是undefined

显示变量名typeof 变量名 typeof(变量名)
如果想要使用变量,最好先判断变量的类型是不是undefined或者是不是null

如果一个变量的值是 八进制 十进制 十六进制 会议十进制输出
不要用小数验证小数
Infinity 无穷大 -Infinity小

字符串:string类型,可以用单引号也可以用双引号
字符串特性:不可变(讲字符串对象的时候配合堆内存空间讲解)

其他类型转布尔类型:
非零数值转布尔类型是true,0转为flase
非空字符串是true 空字符串是flase

当一个变量声明了没有赋值,是undefined
当一个变量声明了没有初始化,是undefined

数据类型转换:
1.其他类型转数字类型
Number(变量)
parseInt(变量)转整数
parseFloat(变量)包括小数
小数转整数丢失精度

2.其他类型转字符串类型
.toString()
String()
3.其他类型转布尔类型

运算符:
算术运算符:+ - * / %
算术运算表达式:首先是一个表达式,由算术运算符连接起来的表达式
叫作算术运算表达式
一元运算符:++ -- ++num num++ --num num--
一元运算表达式:由一元运算符连接起来的表达式叫作亿元运算符表达式
三院运算符:? :
复合运算符:+= -= *= /= %=
比较运算符:< > >= <= === != !==
比较运算表达式的结果是布尔类型;
逻辑运算符: && || !
逻辑运算表达式的结果是布尔类型

流程控制:控制代码执行的顺序

顺序结构:代码从上到下,从左到右(有时候从右到左)执行
分支结构:if语句,if-else语句,if-else if-else if...else语句
switch-case语句,三元表达式
循环结构:while和do while
单行注释一般在一行代码上,多行注释一般会在函数、方法、构造函数上使用