(一)js与h5的关系
H5指的的是WEB开发所有技术(html、css、js、nodejs、vue、react)。
JS注重的是浏览器、客户端
(二)JS的组成
ECMAScript(语法)
DOM(document object modle文档对象模型)
BOM(browser object modle);
JS的本质:可以通过JS代码操作文档、浏览器
(三)JS的输入输出语句
console.log()控制台输出
alert()弹框输出
document.write()页面输出
var a =prompt()console.log(a)提示框输出;
(四)变量 :概念:存储数据的容器。
定义:1、先声明(var x;),后赋值(X=10;);
2、声明的同时赋值(var x =10;)
3、同时声明等多个变量(var x,y,z;),在进行赋值(x=10;y=20;z=30;)
4、变量的命名规则和规范:变量是由字母、数字、下划线、美元符号。*不能是以数字开头、不能是关键字和保留字、区分大小写。(如果变量是由多个单词组成,首字母小写其他首字母大写)
(五)JS数据类型种类。
1、数据的分类:基本数据类型;复杂数据类型;
2、基本数据类型:(字符串)string、(数字)number、(未定义)undefined、(空)null、(布尔)boolean;
*体重:未知 ,就可以用 未定义undefined来表示;布尔(bull)是否结婚:就可以用 false和true来表示;
3、字符串可以和数字拼接
4、NaN:number类型,但是不是数字;由来:在参与运算出现了无法表示的数字的时候,eg:console.log("张"-0)
5、undefined:eg:var x;console.log(x);
6、boolean:console.log(ture);是、真、对;
7、bull:var a =null;console.log(a)-----object;
(六)数据类型检测:typeof
(七)数据类型转换
1. Number()结论一:Number()可以将纯数字的字符串转为数值eg:var str = '100';console.log(typeof Number(str));
结论一:Number()可以将非纯数字的字符串转为NaN,也是数值类型eg:var str2 = '100px';
console.log(Number(str2));//NaN
console.log(typeof Number(str2));//number
2.parseInt():结论一: parseInt()可以将纯数字的字符串转为数值
// 结论二: parseInt()可以将数字开头的字符串转为数字
// 结论三: parseInt()可以将非数字开头的字符串转为NaN,也是属于number类型
// 结论四: parseInt()保留整数
3. parseFloat()结论一: parseFloat()保留小数点后面的数字
// 结论二: parseFloat()数字开头的字符串转为数字
4.// 1. Number()和parseInt()的不同点:
// parseInt()可以将数字开头的字符串转为数字,Number()只能将纯数字转为数字类型
2. parseInt()和parseFloat()的不同点:
// parseInt()将字符串转为整数
// parseFloat()将字符串转为 小数
5. // 转为boolean类型:
// 1. Boolean()
// 2. !!
*除过"字符串"是ture, 未定义、数值、空字符串,布尔转换为false
var x = '';
var y;// undefined
var z = null;
var a = 0;
var b = 'zs'
八、数字转换为字符串
// 数字转为字符串
// 1. num.toString()
// 2. String(num)
var num = 123;
console.log(typeof num);
console.log(typeof num.toString());
console.log(typeof String(num)); 由两种转换方式
九、运算符种类
1. 算术运算符:+ - * / %
// +: 拼接 (字符串和字符串,字符串和数字相加)
// +: 求和
var x = 2;
var y = 21;
var z = x % y;
console.log(z);//2 *%是余数2除以21除不尽余2所以控制面板显示2
2.赋值运算符
var a = 10; //将10赋值给a
// a = 20; //将a重新赋值为20
// a += 20; //等价于 a = a+20 将左边a和右边20求和,再重新赋值给a
// a -= 10; // a = a-10
// a *= 10; // a = a*10=100
*注意a的表达方式:a +=20等价于a=a+20
eg:var a =10;
a+=3; //a = a+3=13
a-=5; // a = a-5=8
a*=20; // a = 160
十、isNaN、
// 数值类型:10 10.1 NaN
// NaN: 非数字的number类型
// isNaN() :帮助我们检测是否是非数字,是非数字结果为true,不是非数字结果是false
// 底层会调用Number()方法
console.log(isNaN('zbc')); // true
console.log(isNaN(12)); // false
console.log(isNaN(10.1));//false
console.log(isNaN('100'));//false
console.log(isNaN('100px'));//true
十一、关系运算符
// 关系运算符: > < >= <= == != === !==
// 关系运算符比较出的结果是布尔类型值
console.log(3>4); //false
console.log(3<4); //true
console.log(10=='10'); //只比较值,不比较类型
console.log(10==='10');//既比较值,也比较类型
console.log(3!=4);
十二、逻辑运算符
// 逻辑运算符
// && || !
// &&: 与
// console.log(3>5>4);// 错误
console.log(3>5&&5>4); // 一假即假 false
console.log(8>5&&5>4); // 一假即假 true
// ||: 或 一真即真(整个表达式有一个真,结果就是真)
console.log(4>2||3>6); //true
console.log(5==3||false||false); //false
// ! : 非 取反
console.log('----------');
console.log(!true); //false
console.log(!false); //true
// console.log(!(8>9&&9==0||9==0));//true
var a = 10;
var b = '10';
console.log(!!(9>=9&&8==8||a==b)); //true
十三、自增自减运算符
// a++;在a的基础上加1
// ++a: 在a的基础上加1
// 区别:单独使用时,都是自身加1
// 在参与输出,赋值,等操作时,a++和++a是有区别的
// 1. a++ 先输出a,再自身加1
// 2. ++a 先加1,再输出
// var a = 10;
// // ++a;单独使用
// console.log(++a); // 11
// console.log(a); // 11
// var a = 10;
// // var b = ++a;
// var b = a++;
// console.log(b);