1、为什么要学习js
因为你没有选择。在Web世界里,只有JavaScript能跨平台、跨浏览器驱动网页,与用户交互。
2、js简介, 人物,事件,时间,历史原因,什么是ECMAScript
rendan Eich这哥们在两周之内设计出了JavaScript语言。实上JavaScript除了语法上有点像Java,其他部分基本上没啥关系
几个公司联合ECMA(European Computer Manufacturers Association)组织定制了JavaScript语言的标准,被称为ECMAScript标准
3、引入方式,(两种) 如何编写 ,如何运行
1、两种引入方式,一种内联,一种外部引用,
2、对于jsp
type="text/javascript"
有的时候,不引入,会没有作用
3、编写的话,一般用vscode,
4、运行,必须先有一个HTML页面,在HTML页面中引入JavaScript,然后,让浏览器加载该HTML页面,就可以执行JavaScript代码。file://
开头的地址无法执行如联网等JavaScript代码,最终,你还是需要架设一个Web服务器,然后以http://
开头的地址来正常执行所有JavaScript代码。
4、调试
两种方式,一种是console.log, 一种是source里面打断点
5、js的基本语法 结尾符号,花括号,注释,大小写
1、每个语句以;
结束,语句块用{...}
2、不强制要求在每个语句的结尾加;
,浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上;
3、花括号的作用,定义一个块
4、注释,单行// 多行 /* */
5、严格区分大小写,并且使用小驼峰形式的命名
6、数据类型
1、Number: JavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型:
-99 NaN 无法计算的时候显示 Infinity 超过js计算的最大值显示
2、String: 字符串 以单引号'或双引号"括起来的任意文本,比如'abc'
,"xyz"
等等
3、Boolean: 一个布尔值只有true
、false
两种值 ,也可以通过计算得来 (与或非的计算)
4、比较运算符 == 和=== 的区别
5、null和undefined : JavaScript的设计者希望用null
表示一个空的值,而undefined
表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用null
。undefined
仅仅在判断函数参数是否传递的情况下有用。
6、数组: 数组是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型。
[1, 2, 3.14, 'Hello', null, true];
数组的两种创建方式 var a = new Array(1,2,3) var a = [1,11,3]
出于代码的可读性,建议使用[]
数组的元素可以通过索引来访问。请注意,索引的起始值为0
6、对象(Object): JavaScript的对象是一组由键-值组成的无序集合
要获取一个对象的属性,我们用对象变量.属性名
的方式
person.name; // 'Bob'
7、变量: 变量不仅可以是数字,还可以是任意数据类型。 在js中就是用一个变量名表示,
变量名是大小写英文、数字、$
和_
的组合,且不能用数字开头。变量名也不能是JavaScript的关键字,如if
、while
等。
申明变量用 var 例如: var a = 12; 不要使用中文
8、strict 模式
并不强制要求用var
申明变量,这个设计错误带来了严重的后果:如果一个变量没有通过var
申明就被使用,那么该变量就自动被申明为全局变量:
i = 10; // i现在是全局变量
ECMA在后续规范中推出了strict模式,在strict模式下运行的JavaScript代码,强制通过var
申明变量,未使用var
申明变量就使用的,将导致运行错误。
这是一个字符串,不支持strict模式的浏览器会把它当做一个字符串语句执行,支持strict模式的浏览器将开启strict模式运行JavaScript。
9、字符串
1、JavaScript的字符串就是用''
或""
括起来的字符表示。
转义字符\
来标识,如果出现多个的情况下 比如\n
表示换行,\t
表示制表符,字符\
本身也要转义,所以\\
表示的字符就是\
。
2、多行字符串(es6) 使用 ` sasa ` 包裹的元素,就是在声明的时候,就发生了转行
3、模板字符串 1、使用+ 2、使用${name} 3、
var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}岁了!`;
alert(message);
4、字符串常见的操作
var s='Hello,world'
s.length 字符串的长度
s[2] 求得单个字符,这个时候你给他赋值,是不会改变的,仍然为s[2] = l 而不是改变的我
方法
1、toUpperCase()
把一个字符串全部变为大写:
2、toLowerCase()
把一个字符串全部变为小写:
3、indexOf()
会搜索指定字符串出现的位置: 返回竖线位置的索引 。没有的话,返回-1
4、substring()
返回指定索引区间的子串: s.subString(0,5) 返回world