js概念
概念:支持面向对象的跨平台脚本语言。
理解:
- 脚本语言:依赖别的语言才能运行
html必须在浏览器中才能运行,js嵌套在html中才能运行
- 跨平台:可以在不同的平台上运行
windows、linux、安卓。。。
- 支持面向对象
使用面向对象的思想编程
应用场景:
-
表单验证:规范用户输入数据,和后台数据进行交互
-
网页特效:给页面内容加行为,让页面动起来
-
游戏开发:飞机大战、打砖块
js的组成 ECMAScript:语法标准
BOM:操作浏览器的标准
DOM:操作html文档的标准
<--数据类型-->
变量就是为了存储数据的,变量中能储存什么样的数据? js有哪些数据?不同的数据表现也是不一样的 直接输出数字 - number类型 - 数字类型 console.log(12); js给我们提供了一个工具用来检查数据类型 - typeof /* 语法: typeof 数据 typeof(数据) */ var a = typeof(-1.2) console.log(a);
string类型 - 字符串类型 字符串:任意个字符 串在一起 confirm('你的头发还好吗') var a = typeof '' console.log(a); console.log(''); console.log("你的头发还好吗"); console.log('你的头发还好吗');
有一种数据是专门用来描述对和错的,只有两个数据:true/false var a = 2 < 1 // boolean类型 - 布尔类型 - 描述事物两面性的 var b = typeof a console.log( b );
undefined类型 - 未定义类型 - 这个变量定义了,但是没有给里面放数据 var a // 当我们定义了变量,没有给里面放入数据,默认有一个数据undefined console.log(a); // undefined - 未定义 // console.log( 'undefined' ); var b = typeof a console.log(b); // undefined
object类型 - 对象类型 有3种形式 var obj = {} console.log(typeof obj);
var arr = [] console.log(typeof arr);
var n = null console.log(typeof n);
/数据类型总结:number string boolean undefined object/ // 以后我们要写的数据,必须是符合这5种类型的,否则会出错 // 中文汉字其实也可以作为变量名,但是一般不这么用 // var 我 = 1 // console.log(我);
<--字符串类型-->
字符串就是任意个字符 串在一起 定义一个字符串的话,需要使用 引号:可以单引号,也可以双引号,单引号和双引号没有区别
var a = '张三' var b = '傻子' console.log(a); // + 如果他两边有一个是字符串,另一个也就跟他连在一起,不进行数学+了 console.log(b); console.log( a + b );
- 号左右两边有一个是字符串,另一个会跟他连在一起,组成更大的字符串 var a = '张三' var b = 250 console.log(a + b);
document.write() 可以输出标签,被html解析,但是标签一定得是字符串,否则不解析 document.write( '' + a + '' );
注意:变量不要加引号了,加了引号就不能再被解析成变量了
引号问题 字符串是一串字符(字母、数字、空格、其他标点符号、引号、空的字符) var str = "'" var str = '"' 在字符串中,不能嵌套当前引号 var str = "asd"f"asdf" var str = 'asdf'asdf'
如果碰到不得不嵌套的情况,可以在里面的引号前面,添加 \ 反斜杠 引号有特殊含义,可以给字符串做开头和结尾,但是里面的引号,不要特殊含义,就要做成普通的字符引号,前面加 \ 转义符,将带有特殊含义的字符,把他特殊含义去掉,变成普通字符
var str = "爷爷正在给孙子将<<西游记>>,爷爷说:'孙悟空打死白骨精以后,唐僧生气,唐僧对孙悟空说:"你回去吧!"。然后孙悟空气走了。'" console.log(str);
<--赋值符类型-->
= 赋值符 =赋值符, 右边一定是一个具体的数据,左边一定是一个代表容器的变量,等待放数据 = 作用只有一个:将右边的数据放在左边的容器中
var a = 1 var b = a + 1
var a a = 1 console.log(a); a = 2 // 赋值,会将空间中原本的数据清空,放入新的数据 console.log(a);
var a = 1
a = a + 1
console.log(a);