// 定义一个变量 var 变量名; var 是js中的一个关键字用于定义变量
// 字母a 就是我们定义的变量名,它在js中会代表一个数字
var 变量名;
// 注意的地方
// 1. 每一句代码都有一个分号,大部分的高级语言都强制要求写分号,如果不写会报错如:c# java
// 单是js认为没有必要的换行可以表示这句代码结束,不写换行也可以,官方也建议不写分号
// 2. 变量名的命名规则 (0) 不能是关键字 保留字(1)变量名不能以数字开头,也不能包含一些特殊字符
// 比如一些运算符 +-*/ ,(2) 尽量不要用a.b.c.d含糊不清的字母,使用一些有含义的单词作为变量名
// 如要表示一个人的年龄,就叫age 也尽量不要用拼音名
//(3) 变量名的单词一般小写字母,如果由多个单词定义,从第二个单词开始,首字母大写
// 如 myAge, myGrilFriend (驼峰命名法)
// 1.变量赋值,age这个变量只有在第一次定义的时候需要写var关键字,再次使用不用写,直接写关键名就行
//2. 等号表示赋值符号,表示把等号后面的数据赋给等号前边的变量,赋值之后变量age表示的值就是23,
// 3. 赋值之后再次使用age变量使用的就是它的值23
age = 23;
alert(age); // alert() 会在网页中间显示一个警告框
// 4. 同一个变量可以多次赋值, 因为js是一个弱类型语言,所以同一个变量可以表示不同类型的数据
// 新的值会把旧的替换掉
age = 23.5;
alert(age);
// 5. 变量可以在定义的时候直接赋值
var weight;
weight = 240;
js类型
<script>
// js 本身是弱类型语言: 定义变量不区分变量类型,一个变量可以赋值任意类型
// 强类型语言类型有: int float double aong short bool char string long long, byte object
// 弱类型有: 数字类型 字符串类型 判断类型 统一使用 var 关键字来定义
//1. 数字类型: 身高,体重,年龄
var heught = 165;
var weight = 180;
var age = 21;
// 2. 字符串类型: 名字,爱好,性别,籍贯 字符串一般是一连串的文字,需要放在引号中 双引号单引号都行 建议双引
// 字符串中也可以写数字
var name = "蔡徐坤";
var sex = "1";
// 3. 判断类型: 是否有女朋友 只有两种结构 真/假 true/false
var hasBoyFriend = false;
// 一个变量的值可以任意修改
age = "芳龄18";
age = true;
document.write(age);
console.log(age);
</script>
js运算
<script>
document.writeln // 会在打印的信息后添加的换行符
var number1 = 3;
var number2 =4;
var string = "5";
var isMan = true;
// 基本的数据运算 + - * /
// 赋值的等号后面可以是一个计算公式,计算的结果会作为变量值
var rasult = number1 + number2;
// 在网页窗口打印信息
document.write(rasult);
// 在控制台打印
console.log(rasult);
// 数字类型的值和字符串类型的值相加,会自动把数字转化为字符串,拼接在一块(打印经常用)
var rasult = number1 +string;
//打印的括号中也是可以计算公式
document.write("-" + rasult + "-");
//获取一个变量的类型
typeof(rasult);
// 数字和bool类相加,会把bool转化为数字(true==>1 false==>0)然后数字和数字相加
// 字符串类型和bool相加,会把bool转化为字符串 "ture" "false"然后字符串拼接
result = number2 + isMan;
docum.write(resulte);
// 减法
// 数字和字符串相减 会把string转化为number类型相减
//如果字符串不能转化为数字 会得到NaN: not a number 不是数字
// 2. bool类型和字符串相减 两种类型都会转化为数字类型
//3. 数字和bool类型相减 把bool转化为数字
// 乘法和除法 * / 的计算规则和减法相同
result = number2 * string;
// 不同类型的数据在做计算时,会自动转化数据类型,以达到可以计算的目的,
// 不同的数据类型不能直接计算 这种现象叫做数据的 隐式转换
// 有时候自动转换类型不满足我们的需求,比如:数字和字符串相加时,不想得到
//拼接结果而是想要数字相加的结果,此时,就需要用 显示转换(强制转换) 强制吧字符串转换为数字
// parseInt() 会把字符串或数字强制转换为整数
result = number1 + parseInt(string);
// parseInt() 会把字符串强制转换为小数
result = number1 + parseIntFloat(string);
// % 取余数
result = number1 % number2;
// 判断运算符 == < > >= <= != 判断结果得到bool类型的结果,表示 ture false
// 切或运算符 && 多个判断运算结果都是ture,则最终结果为true,否则false
//并且 或者|| 多个判断运算只要有一个是true,则结果是true,都是false才是false
// 自增自减运算符 自增++ 自减--
number1 = 10;
number ++;
// 相当于 number1 = number + 1;
// 也可以这样写 number += 1;
document.write(number1);
// 自增符号++ 可以写在变量前 ++number也可以写在变量后 number++
// 但是有区别
// ++在后 变量会先打印11 然后在自增1变12
// ++在前 变量会先自增1变13在打印
// 移位运算符 >> <<
// 13左移3位:
// 1. 先把13转化为二进制
// 2. 先移3位就是在二进制后面加3个0
// 3. 把变化后的二进制转化为10进制
4.循环语句
<script>
//常用的循环语句两个 for循环和while循环
// 1.for循环
// for(定义变量并给初值;给变量条件范围; 变量值的变化){ 循环体}
// 循环逻辑:
//1. 先判断定义的变量是否符合条件范围,如果符合执行第二步,不符合不执行
//2. 执行循环体中的代码,并同时执行变量值的变化
//3. 回到第一步继续判断是否符合条件范围
for(var i = 0; i <= 10; i++){
console.log(i);
}
// 注意点
// 1.一般用i这个字母表示循环中的变量,也可以用别的变量名
for(var x = 0; x < 10; x++){
}
// 2.变量的初始值可以不是0,只要符合条件范围即可
// 3.变量每次循环的变化量不一定是1
for(var i = 100; i > 0; i--){
}
// 4.循环是可以嵌套的,变量名不能相同
for(var i = 0; i < 10; i++){
for(var x = 0; x < 10; x ++){
document.write(i * x + "|");
}
}
// 双层嵌套时,内部循环可以用外部循环变量当做循环条件
// 这样可以动态调节内部循环的循环次数
for(var i = 0; i < 10; i++){
for(var x = 0; x < i; x ++){
document.write(i +"|" + x);
}
}
// 注意: 在for循环中定义i变量尽量不要在循环使用
// while 循环, 相对for循环简单,只需要一个循环条件即可
while (5 < 10){
alert('你真小');
}
// 如果只给判断条件的话,可能会进入死循环
// 一般为了防止进入死循环,我们会在循环中添加判断
while (5 < 10){
alert('你真差');
if(true){
break;
}
}
// 正常一点的while循环结构
var index = 0;
while(index < 10){
index ++;
document.write(index);
}
5.判断语句
<script>
// 判断语句 if
// if(判断条件){判读条件成立执行代码}
if(1 < 2){
document.write("条件成立");
}
// 1. 小括号中可以是一个判断表达式也可以是变量
// 如果括号中是变量,这个变量值会被隐式转换为bool值,非空非0的值都会转化为true
// 变量不赋值或被赋值为0 转化为false
var number = 3;
if(number){
document.write("number不是0也不为空");
}
//2. 当判断不成立时也可以执行另一段代码 else
if(1 > 2){
document.write("1>2");
}else{
document.write("1<=2");
}
// 3. 可以对一个变量进行多次判断 if..else if...else if ...else
var age = 10;
if(age < 10){
docoument.write("啦啦");
}else if(age < 18){
document.write("嘟嘟");
}else if(age < 30){
document.write("熊熊");
}else{
document.write('小熊');
}