Js 学习笔记
var addnum='10'; var addnum2=3.14; var addnum3=addnum+addnum2; console.log('addnufgvbgszdgvxdvxsvm3', addnum3);
// 最大值
console.log(Number.MAX_VALUE);
// 最小值
console.log(Number.MIN_VALUE);
// 无穷大
console.log(Number.MAX_VALUE*2);
// 无穷小
console.log(Number.MIN_VALUE*2);
isNaN() 这个方法用来确定一个变量或是值是否为非数字的类型,返回true或者false
console.log(isNaN(12));
console.log(isNaN('haoshi'));
'pink' 'pink好人' '12' 'ture'都是字符串 单双均可若嵌套需内外区分
字符串型 字符串转义字符 \n换行符newline \\斜杠 \'单引号 \"双引号 \t tab缩进 \b 空格blank
alert('kiufqhihwifiq,whfibdjqbjqbf。\njkwqbjqbfjbwqj。\nkfwq"bfqbfj"wqb');
1.检测获取字符串的长度 length
var age=prompt('请输入您的年龄')
var str='您今年经'+age+'岁了'
alert(str);
简单数据类型的五种分类
var flag = true; //布尔型
var flag1 = false;//布尔型
console.log(flag+1);//运算结果当1来计算
console.log(flag1+1);//运算结果做0算
var variable=undefined
console.log(variable+1);
var nve=null
console.log(nve+11);
typeof 可以检测数据类型
数据类型的转换 使用表单和prompt的数据默认是字符串类型的 不能进行加法运算
需要转变数据类型
转化为字符串类型
var num=10;
alert(typeof num.toString())
字符串类型
var num=10
var str=num.toString();
console.log(str);
console.log(typeof str);
// 强制转换
console.log(String(num));
// 隐式转换
console.log(num+'');
转换为数字型 重点
var age=prompt('请输入你的年龄')
console.log(parseInt(age));
console.log(parseInt('3.14'));
console.log(parseInt('3.14px'));
console.log(parseInt('px3.14'));
可以带小数的
console.log(parseFloat('3.14'));
console.log(parseFloat('px3.14'));
console.log(parseFloat('3.14px'));
var age=prompt('请输入您的出生年份');
var str=2018-age;
alert('您今年已经'+str+'岁了');
console.log('您今年已经'+str+'岁了');
小案例2(数字器)
var add1=prompt('请输入第一个值');
var add2=prompt('请输入第二个值');
var res=parseFloat(add1)+parseFloat(add2);
alert('结果是'+res);
// 转换为布尔型
// 方式 boolean()函数
console.log(Boolean(''));
console.log(Boolean(NaN));
console.log(Boolean(0));
console.log(Boolean(null));
console.log(Boolean(undefined));
// 其余均为true
// 运算符 operator + - * \ %(取余)
console.log(1 + 1);
// console.log(0.1 + 0.2);0.30000000000000004
// 不要直接判断两个浮点数是否相等 转换2进制有误差
// 如何判断一个数是否能被整除 用取余若值为零则可以整除
console.log(4 % 2);
前置递增运算符 ++需配合变量来用 先加一再返回值
var num = 10;
++num;
console.log(num+11);
后置递增运算 先返回原值
后置递增单独
var num = 10;
num++;
console.log(num);//输出结果 与前置一样
// 后置递增加入运算
var age = 10
console.log(age++ + 10);//20
// 运算完成后递增加一
console.log(age++ + 10 - --age);//21
var e = 10
var f=e++ + ++e
console.log(f);//22
字符串的截取函数
var str = 'abcdefghij';
str.substr(start, [length])
substr()会从start获取长度为length字符(如果截取到字符串的末尾,则会停止截取)。
如果start是正的并且大于或等于字符串的长度,则substr()返回一个空字符串。
若start为负数,则将该值加上字符串长度后再进行计算(如果加上字符串的长度后还是负数,则从0开始截取)。
如果length为0或为负数,substr()返回一个空字符串。如果length省略,则将substr()字符提取到字符串的末尾。
console.log('(1,2):' + str.substr(6,2));
console.log('(6,5):' + str.substr(6,5));
console.log('(-3)' + str. substr(-3));
var edg = 'abcdefghij';
console.log(edg.length);
// str.substring(indexStart, [indexEnd])
// substring()从提取的字符indexStart可达但不包括 indexEnd
// 如果indexStart 等于indexEnd,substring()返回一个空字符串。
// 如果indexEnd省略,则将substring()字符提取到字符串的末尾。
// 如果任一参数小于0或是NaN,它被视为为0。
// 如果任何一个参数都大于stringName.length,则被视为是stringName.length。
// 如果indexStart大于indexEnd,那么效果substring()就好像这两个论点被交换了一样; 例如,str.substring(1, 0) == str.substring(0, 1)
console.log('(-2,4)' + edg.substring(-2,4));
console.log('(5,3)' + edg.substring(5,3));
console.log('(9,1)' + edg.substring(9,1));
var agg = 'abcdefghij';
console.log('(3,6)' + agg.slice(3,6));
console.log('(-6)' + agg.slice(-6));
console.log('(20,2)' + agg.slice(20,2));
console.log('(3,7)' + agg.slice(3,7));
逻辑运算符
&&逻辑“与” ||逻辑或 !逻辑非
逻辑“与” 两个都为true 结果才为true
逻辑“或” 只要有一个true 结果就为true,两者都为false时才为false
逻辑“非” 取反值
短路运算
网吧小例子(if语句)
var years = prompt ('请输入您的出生年份');
var age = (2022-years);
if (age>=18) {
alert ('进入网吧')
};
if (条件表达式) {
// 执行语句1
} else {
// 执行语句2
}
网吧小例子(if eles语句)双分支语句
var years = prompt ('请输入您的出生年份');
var age = (2022-years);
if (age>=18) {
alert ('进入网吧')
} else {
alert('出去')
};
var year = prompt('请输入年份')
if (year % 4==0 && year % 100 !=0 || year % 400==0) {
alert('闰年')
} else {
alert('平年')
}
中奖案例
var win = prompt('请输入您的名字')
if (win=='刘德华') {
alert('恭喜你中了5块')
} else {
alert('很遗憾您没中奖')
}
多分支语句 就是利用多个条件来选择不同的语句执行 得到不同的结果
var score = prompt('您的分数')
if (score>=90) {
alert('你是我的骄傲')
} else if (score>=80) {
alert('你已经很棒了')
} else if (score>=70) {
alert('你要继续加油喽')
} else if (score>=60) {
alert('你很危险')
} else if (score<60) {
alert('不行了')
};
三元表达式
一元表达式 ++num 二元 3+5 三元 ? :
var num = prompt('输入0-59数字')
var tle = num<10 ? '0'+num: num
console.log(tle);
alert(tle)
switch也是多分枝语句 也可以实现多选一
switch (表达式) {
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
default:
执行最后语句;
}
执行思路 利用我们表达式的值 和 case 后面的选项值相匹配 若匹配上,就执行该case 里面的语句 若都没有匹配上则执行default
var fruit = prompt('请输入您稀罕的水果');
switch (fruit) {
case '苹果':
alert('苹果3.5/斤');
break;
case '榴莲':
alert('榴莲的价格是35/斤');
break;
default:
alert('没有此水果')
}
if elase 多分支语句 var time = prompt('请输入现在的时间') if (time<=12){ alert('早上好') } else if (time<=18) { alert('中午好') } else if (time<=23) { alert('晚上好') } else if (time<=24) { alert('深夜好') };
var per = prompt('请输入一个值');
if (per%2==0) {
alert('偶数');
} else{
alert('奇数');
}
switch 多分枝语句
var week = prompt('输入1-7');
//条件命令需和case值 全等 全等 全等
switch (week) {
case '3':
alert('星期3');
break;
case '4':
alert('星期4');
break;
case '5':
alert('星期5');
break;
case '6':
alert('星期6');
break;
case '7':
alert('星期7');
break;
default:
alert('不存在');
}
for 循环
断点调试
for (var i=1 ;i <=100 ; i++) {
console.log('错了');
}
var num=prompt('输入次数')
for (var i =1 ; i<= num; i++) {
console.log('错了');
}