回顾
js的组成: ECMAScript BOM DOM
JS的引入方式: 行内式 内嵌式 外联式
js的注释
//
/**/
js输入输出语句
alert()
console.log()
prompt()
js的变量
变量是用来存储数据的容器
var a;
a = 10;
var b =11;
var bb=12; bb=13;
var aa,bb;
变量的命名规范
数据类型
js是弱类型的语言,js变量的数据类型由值来决定
简单数据类型
Number数值
var age =22;
var f =23.4;
//isNaN 判断变量是否为非数字类型 返回true或者false
var uAge =21;
var isOk = isNaN(uAge
console.log(isOk) //false
console.log(isNaN("123")) ; //true
String字符串
字符串可以是引号中的任意文本,语法是双引号 " " 和 单引号 ''
// 字符串可以是引号中的任意文本,语法是双引号 " " 和 单引号 ''
var str ="欢迎大家";
var str1 = '大家好';
// var str3 = hello ; 报错 hello is not defined 没有使用引号,会被认为是js代码,但是js没有这个语法
// 单双引号要错开使用
var str3 = "我是 '高富帅'";
var str4 = '我是"高富帅"';
// 字符串转义符
// 类似于HTML里的特殊符号,字符串也有特殊符号,我们称为转义符
// 转义符 都是以 \ 开头的
/*
\n 换行符
\ 斜杠
' 单引号
" 双引号
\t tab缩进
\b 空格
*/
alert("hello 大家好,\n\t\t\t欢迎来\b\b到 '丁鹿学堂' 17期")
// 检测字符串的长度 length
var str5 = "my name is lucy";
console.log(str5.length); //15
// 字符串拼接 + 只要由字符串和其他类型变量/值拼接,最终的结果是字符串
console.log("沙漠"+"骆驼"); //"沙漠骆驼"
console.log("丁鹿学堂"+13) ; //"丁鹿学堂13"
console.log("丁鹿学堂" + true); //"丁鹿学堂true"
console.log(12+13); //25 number
console.log("12"+24); //"1224"
var age=12;
console.log("我的年齡是age岁"); //我的年齡是age岁
// 引引相加
console.log("我的年齡是"+age+"岁"); //我的年齡是12岁
Boolean布尔
布尔类型由两个值: true 和false,true表示真,false表示假
// 布尔型和数字型相加 true为1 false为0
var flag = true;
var flag1=false;
// true参与加法运算 当1来看
console.log(flag+1); // 2
// false 参与加法运算 当0来看
console.log(flag1+1); //1
undefined和null
// 一个变量只声明不赋值,值为undefined,数据类型也是undefined
var str;
console.log(str); //undefined
console.log(str + 1); //NaN
var str1 = undefined;
console.log(str1 + "hello"); // "undefinedhello"
console.log(str1 + 1); //NaN not a number undefined和数字相加,最后的结果是NaN
// 一个声明的变量给null值,里面存的值为空 (学习对象,研究null)
var space = null;
console.log(space + "hello"); //"nullhello"
console.log(space + 1); //1
String字符串赋null拼接的问题 blog.csdn.net/m0_46340286…
复杂数据类型
获取变量数据类型
获取变量的数据类型 typeof
// 获取变量数据类型
var num=12;
console.log(typeof num); //number
console.log(typeof "xiaoxiao"); //string
var bol = true;
console.log(typeof bol); //boolean
var boll;
console.log(typeof boll); //undefined
var bol2 = null;
console.log(typeof bol2); //object
字面量
字面量是在源代码中一个固定值的表示法,通俗点说,就是字面量表示如何表达这个值
数字字面量 3,2,5,6
字符串字面量 "前端"
布尔字面量 true false
数据类型转换
// 数据类型转换
// 使用表单,prompt获取过来的数据默认都是字符串类型,不能进行简单的加法运算,需要进行数据类型转换
// var s = prompt("请输入一个数字"); //点确定 s的值为输入的值 点取消 s的值为null
// console.log(typeof s)
// console.log(s+3)
// 转换为数字型
// parseInt(s) 转换为整型
// console.log(parseInt(s)); // "123" ---123 "123sss"---123 "ss23"-- NaN "2w2" ----2 "12.4"---12
console.log(parseInt(true)) //NaN parseInt原理:从左往右依次解析字符,遇到非数字字符结束解析,并且将解析好的整数返回 true是非数字字符
// parseFloat() 转换为浮点型
// console.log(parseFloat(s));// "123" ---123 "123sss"---123 "ss23"-- NaN "2w2" ----2 "12.4"---12.4
console.log(parseFloat(true)) //NaN
// 强制转换 Number
// console.log(Number(s)); //"123" ---123 "123sss"---NaN "ss23"-- NaN "2w2" ----NaN "12.4"---12.4
// 隐式转换
console.log("23"-12) ; //11
console.log("23"*12) ; //276
console.log("23"/12) ; //1.9166666666666667
// 转换为字符串型
var num = 78;
console.log(typeof num.toString())
var flag =true ;
console.log(typeof flag.toString())
console.log(num.toString()) //"78"
// String() 强制转换
console.log(typeof String(90)) //string "90"
console.log(String(true)) //"true"
// 隐式转换
// 字符串和任何类型相加都是字符串
console.log("!23"+12); //"!12312"
console.log("!23"+true); //"!123true"
// 转换为布尔型
console.log(Boolean(null)) //false
console.log(Boolean(undefined)) //false
console.log(Boolean("123")) //true
console.log(Boolean(123)) //true
console.log(Boolean("")) //false
console.log(Boolean(0)) //false
console.log(Boolean(1)) //true
console.log(true + 0) //1
console.log(false +0 ) //0
console.log(true + 1) //2
console.log(false +1) //1
\