0529JavaScript基础
js简介http://www.cnblogs.com/majj/p/9092017.html
引入方式:1、行内js 2、内接式 3、外接式(和CSS一样)
第一个JavaScript代码
语法规则
学习程序,是有规律可循的,就是程序是有相同的部分,这些部分就是一种规定,不能更改,我们成为:语法。
(1)JavaScript对换行、缩进、空格不敏感。
备注:每一条语句末尾要加上分号,虽然分号不是必须加的,但是为了程序今后要压缩,如果不加分号,压缩之后将不能运行。
(2)所有的符号,都是英语的。比如括号、引号、分号。
(3)JavaScript的注释:
JavaScript在网页中输出信息的写法
弹出警告框:alert("")
alert(英文翻译为“警报”)的用途:弹出“警告框”
控制台输出:console.log("")
console.log("")
表示在控制台中输出。console表示“控制台”,log表示“输出”。(相当于print)
用户输入:prompt()语句
prompt()
就是专门用来弹出能够让用户输入的对话框。
<script type="text/javascript">
var a = prompt('今天是什么天气?');
console.log(a);
</script>
用户输入的内容,将被传递到变量 a 里面。
prompt()语句中,用户不管输入什么内容,都是字符串。
alert和prompt的区别:
alert("从前有座山"); //直接使用,不需要变量
var a = prompt("请输入一个数字"); // 必须用一个变量,来接收用户输入的值
直接量:数字和字符串
“直接量”即常量,也称为“字面量”。看见什么,它就是什么。
(1)数值的直接量的表达非常简单,写上去就行了,不需要任何的符号。
(2)字符串也很简单,但一定要加上引号。可以是单词、句子等。
变量
变量的定义和赋值
ar是英语“variant”变量的缩写。后面要加一个空格,空格后面的东西就是“变量名”,
-
定义变量:var就是一个关键字,用来定义变量。所谓关键字,就是有特殊功能的小词语。关键字后面一定要有空格隔开。
-
变量的赋值:等号表示赋值,将等号右边的值,赋给左边的变量。
-
变量名:我们可以给变量任意的取名字。
变量的命名规范
变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。
变量的命名规范
变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。
typeof()表示“获取变量的类型”
在JavaScript中,只要是数,就是数值型(number)的。无论整浮、浮点数(即小数)、无论大小、无论正负,都是number类型的。
字符串型:string
连字符和加号的区别
键盘上的+
可能是连字符,也可能是数字的加号。如下:
console.log("我" + "爱" + "你"); //连字符,把三个独立的汉字,连接在一起了
console.log("我+爱+你"); //原样输出
console.log(1+2+3); //输出6
总结:如果加号两边都是数值,此时是加。否则,就是连字符(用来连接字符串)。
变量格式转换
parseInt()
:字符串转数字
parseInt()可以将字符串转数字。parse表示“转换”,Int表示“整数”(注意Int
的拼写)
parseInt()还具有以下特性:
(1)带有自动净化的功能;只保留字符串最开头的数字,后面的中文自动消失。
(2)自动带有截断小数的功能:取整,不四舍五入。
数据类型
数据类型包括:基本数据类型和引用数据类型
基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。
当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值
1.基本数据类型
number
string
boolean
null 空对象
undefined 表示变量未定义
2.引用数据类型
- Function
- Object
- Arrray
- String
- Date
运算符
1.赋值运算符
以var x = 12,y=5来演示示例|
2.算数运算符
var a = 5,b=2
var a = 5;
先对x赋值 再对a++
var x = a++;
先++ 后赋值
var x = ++a;
3.比较运算符
var x = 5;
== 表示的值 === 值和数据类型
4.特殊情况
字符串拼接+字符串运算 特殊情况。
NaN. ==== not a number 是number类型
将数值类型转换成字符串类型
隐式转换
var n1 = 123;
var n2 = '123';
var n3 = n1+n2;
// 隐式转换
console.log(typeof n3);
强制类型转换
强制类型转换String(),toString()
var str1 = String(n1);
console.log(typeof str1);
var num = 234;
console.log(num.toString())
将字符串类型转换成数值类型
var stringNum = '789.123wadjhkd';
var num2 = Number(stringNum);
console.log(num2)
// parseInt()可以解析一个字符串 并且返回一个整数
console.log(parseInt(stringNum))
console.log(parseFloat(stringNum));
任何数据类型都可以转换为boolean类型
var b1 = '123';
var b2 = 0;
var b3 = -123;
var b4 = Infinity;
var b5 = NaN; //false
var b6; //false
var b7 = null; //false
// 非0既真
console.log(Boolean(b7));
流程控制
1.if 、if-else、if-else if-else
var ji = 20; if(ji >= 20){ console.log('恭喜你,吃鸡成功,大吉大利') } alert('alex');//下面的代码还会执行
var ji = 20;
if(ji>=20){
console.log('恭喜你,吃鸡成功,大吉大利')
}else{
console.log('很遗憾 下次继续努力')
if (true) {
//执行操作
}else if(true){
//满足条件执行
}else if(true){
//满足条件执行
}else{
//满足条件执行
}
注意:浏览器解析代码的顺序 是从上往下执行,从左往右
2.逻辑与&&、逻辑或||
//1.模拟 如果总分 >400 并且数学成绩 >89分 被清华大学录入
//逻辑与&& 两个条件都成立的时候 才成立
if(sum>400 && math>90){
console.log('清华大学录入成功')
}else{
alert('高考失利')
}
/2.模拟 如果总分>400 或者你英语大于85 被复旦大学录入
//逻辑或 只有有一个条件成立的时候 才成立
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('很遗憾')
}
4.while循环
循环三步走:
1.初始化循环变量
2.判断循环条件
3.更新循环变量
var i = 1; //初始化循环变量
while(i<=9){ //判断循环条件
console.log(i);
i = i+1; //更新循环条件
}
5.do_while
不管有没有满足while中的条件do里面的代码都会走一次
var i = 3;//初始化循环变量
do{
console.log(i)
i++;//更新循环条件
}while (i<10) //判断循环条件
6.for循环
for(var i = 1;i<=10;i++){
console.log(i)
}
双重fo循环
for(var i=1;i<=3;i++){ //1 2 3 行数
for(var j=0;j<6;j++){ // 0 ~ 5
document.write('*')/一行的*数
} #:文档对象.方法(write)
document.write('<br>')
}