1.javascriptl历史背景介绍
创始人:布兰登 艾奇 在1995年网景公司发明,与java没有一点关系
2.javascript是前台语言
javascript运行在用户的终端页面上,而不是后台语言(是运行在服务器上的,比如PHP,ASP,JSP)
3.javascript的组成
三个部分:
ECMAScript:javascript的语法标准,包括变量,表达式,运算符,函数,if语句,for语句等
DOM:操作页面上的元素的API,比如盒子移动,变色,轮播图等
BOM:操作浏览器部分功能的API,比如让浏览器自动滚动
4.javascript的特点
1简单操作易用
2解释执行
3基于对象
5.语法规则
1.javascript对换行,缩进不敏感
2,所有的符号都是英语的
3.javascript的注释
单行注释://
多行注释/* */
6.javascript中的输入输出语句
输入:prompt()
输出:console.log()
定义变量:var
代码如下:
<script> var a = prompt("你叫什么名字呀") console.log(a) </script>
7.常量
有两种:数字.字符串
数字不加引号字符串加引号
8.变量
定义变量的规则与其语言相似
在javascirpt上的保留字
abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto implements、import、int、interface、long、native、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile
9.变量的类型
在javascript中用typeof查看变量的的类型
1.数值型(number)
2.字符串型(string)
3.连字符和加号的区别
都在说一个符号就是"+"在不同的地方使用的意义不一样所以就有了连字符和加号
举个例子
console.log("我" + "爱" + "你"); //连字符,把三个独立的汉字,连接在一起了 连字符
console.log("我+爱+你"); //原样输出
console.log(1+2+3); //输出6 加号
总结:如果加号的两边都是数值,此时是加 的意思,如果 两边是字符串那么就是连字符的意思
10.变量的传递(赋值)与其他语言有点不太一样可以对比去记忆
var a = "3"; var b = 2; console.log(a-b);
输入的什么结果呢?
在python中是报错的因为数据类型不一样没办法进行加减运算
那么在javascript中是怎么样的呢?
结果是 1
在javascript中会自动将a 的数据类型转换成数字形式(方便吧)
<script> var a = "周杰伦" var b = "林俊杰" console.log(a+b) </script>
结果:
周杰伦林俊杰
当两个数据类型都是字符串的时候那么就是字符串的连接
11.基本数据类型:
number 数字类型
里面有个特殊:
var a = 123; //typeof 检查当前变量是什么数据类型 console.log(typeof a) //特殊情况 var a1 = 5/0; console.log(typeof e1) //Infinity 无限大. number类型
在我们一般的数学里面这样的书写方式是错误的分母不能为零
但是在这里不报错输出的是一个无限大
string 字符串类型
boolean 布尔类型
null 空对象
underfined 未定义类型
引用数据类型:
Function
Object
Array
String
Data
12 .运算符
2.算数运算符:
3.比较运算符
这里面的===就好像python中的is比较的是内存
4.特殊情况
var firstName = '小'; var lastName = '马哥'; var name = '伊拉克'; var am = '美军'; // 字符串拼接 var str = "2003年3月20日,"+name+"战争爆发,以美军为主的联合部队仅用20多天就击溃了萨达姆的军队。这是继十多年前的海湾战争后,"+am+"又一次取得的大规模压倒性军事胜利。" var fullStr = str; console.log(fullStr) var fullName = firstName +" "+ lastName; console.log(fullName)
// 不能对字符串进行+运算 只能拼接 var a1 = '1'; var a2 = '2'; console.log(a1-a2) //12
var b1 = 'one'; var b2 = 'two'; // NaN. ==== not a number 是number类型 console.log(typeof(b1*b2)
13.数据类型转换
1.隐式转化
var n1 = 123; var n2 = '123'; var n3 = n1+n2; // 隐式转换 console.log(typeof n3);
跟前面我们说的一样的javascript自动将数据转换成字符串类型
2强制类型转换 数值--->字符串
// 强制类型转换String(),toString() var str1 = String(n1); console.log(typeof str1); var num = 234; console.log(num.toString())
一种就是在数据类型前面直接加想要转换的类型原本的n1是字符串类型的现在强行转换成字符串
第二种就是用toString()
3.字符串--->数值
var stringNum = '789.123'; var num2 = Number(stringNum); console.log(num2) // parseInt()可以解析一个字符串 并且返回一个整数 console.log(parseInt(stringNum)) console.log(parseFloat(stringNum));
方法也是强转在要转的数据类型前面加上你要转的数据类型
4.任何的数据类型都可以转换为boolean类型
14.流程控制
1.if语句 与pytho最大的不同就是在书写格式上有很大的不同
if (条件) {执行代码块}else{执行代码块}
var i = 10 if (i>1) {console.log('恭喜你,大吉大利')} else{ console.log("放弃挣扎吧!") }
其他的类型
if (true) { //执行操作 }else if(true){ //满足条件执行 }else if(true){ //满足条件执行 }else{ //满足条件执行 }
浏览器解析代码的顺序是从上到下 从左到右
2.逻辑与&& 逻辑或|| 对比python中的or 和 and
var sum =100 var math = 60 if (sum>680&&math>90){ console.log("清华录取") } else{ alert("高考失利") }
以上这种情况一般就会直接跳出来高考失利的,成绩太低了呀.代码逻辑上也是过不去的所以慢慢揣摩
if(sum>500 || english>85){ alert('被复旦大学录入') }else{ alert('高考又失利了') }
当然是选择性的进了
3.switch
var gameScore = 'better'; switch(gameScore){ //case表示一个条件 满足这个条件就会走进来 遇到break跳出。break终止循环。如果某个条件中不写 break,那么直到该程序遇到下一个break停止 case 'good': console.log('玩的很好') //break表示退出 break; case 'better': console.log('玩的老牛逼了') break; case 'best': console.log('恭喜你 吃鸡成功') break; default: console.log('很遗憾') }
一般在末尾是要加上default:做最后的收尾
4.while循环
循环三步走:
1.初始化循环变量
2,判断循环变量
3.更新循环变量
只要在写循环的时候记住这几点就一定能写出来一个你想要的循环
javascript的循环格式还是稍微有点与Python不同的
初始化
while(判断条件)
{执行语句}
var i = 1; //初始化循环变量 while(i<=9){ //判断循环条件 console.log(i); i = i+1; //更新循环条件 }
5.do_ while 在python中没有的操作 意思是先执行一次在循环
//不管有没有满足while中的条件do里面的代码都会走一次 var i = 3;//初始化循环变量 do{ console.log(i) i++;//更新循环条件 }while (i<10) //判断循环条件
6.for循环
格式 for(判断条件) {执行语句}
for(var i = 1;i<=10;i++){ console.log(i) }