一、JavaScript的组成:
- ECMAscript:JavaScript 已经由 ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。
- BOM:浏览器对象模型(Browser Object Model )
对象:
window 窗口对象
location 地址栏对象
history 历史记录对象
screen 显示器对象
- DOM:文档对象模型(Document Object Model)是用于访问 HTML 元素的正式 W3C 标准。
功能:控制HTML文档的内容
代码:获取页面标签(元素)对象Element
document.getElementById(“id值”):通过元素的id获取对象
二、Javascript书写位置:
- 内嵌式:在html页面中,嵌入script标签
该标签可以放到head标签中或者body标签中,可以有多个。 - 外联式:用script标签的src属性引入外部的JS文件[推荐写法]
①.新建js文件
②.通过script标签引用到当前页面中
注意:
①.不能将代码写到外联式标签中。
②.一个网页中可以同时调用多个外部js文件
<script type="text/javascript" src="test.js"></script>
<script type="text/javascript" src="test.js"></script>
<script type="text/javascript" src="test.js"></script>
<script type="text/javascript" src="test.js"></script>
特别注意:
如果一个script标签引入外部的JS文件,那么千万别再这个script标签里面写JS代码
3. 行内式:在标签上写JS代码(不推荐)
将js代码写到标签内部
<div onclick="js代码" style="width:200px;"></div>
注意:
onclick 是一个点击事件: 当点击div的时候,会触发该事件,执行该事件中的代码。
三、JavaScript中输入输出消息方式
1.alert();//弹出框
2.document.write('<h1>我是一段文字</h1>'); //在网页中输出信息
3.prompt("请输入姓名","测试"); //输入框接收用户输入的【输入框】
4.confirm("确定不听课么");//确认框
5.console.log("adsadsfafds"); //在控制台中输出消息
四、js变量的定义
变量的定义和赋值
var a = 100;
var是英语“variant”变量的缩写。后面要加一个空格,空格后面的东西就是“变量名”,
- 定义变量:var就是一个关键字,用来定义变量。
- 所谓关键字,就是有特殊功能的小词语。
- 关键字后面一定要有空格隔开。
- 变量的赋值:等号表示赋值,将等号右边的值,赋给左边的变量。
- 变量名:我们可以给变量任意的取名字。
注意:
1.创建变量的关键字是var var a=1;
2.创建变量可以不指定数据类型。
3.创建变量但是不赋值:var a; a创建出来的就是一个undefined未定义的数据类型。
五、基础数据类型
(参考:https://www.cnblogs.com/luckinlee/p/11621995.html)
1.数字(number)
#js中小数和整数丢都是数字类习惯
var a=1;
bar b=0.1;
#查看数据类型typeof,括号可以加,可以不加
typeof(a);
typeof b;
#小数点的保留
var num = 2.379
var newNum = num.toFixed(2)
console.log(newNum)
#NaN是数字类型的一个关键字,意思是不是一个数字,但是他的数据类型也是number,布尔值为false
#Infinity是一个数字类型的关键字,意思是无限大的意思,他的Boolean的值为true
2.字符串string
#单引号和双引号都可以,都是字符串的表达方式
#.length,返回长度:注意length不用加括号,它是一个属性不是一个方法
console.log(a.length)
#trim 去除字符串两边的空格
var str = ' 我的天呢 ';
console.log(str.trim());//我的天呢
#cancat 拼接字符串值,用来两个或者多个字符串的值
var str1 = 'alex';
var str2 = 'sb';
console.log(str1.concat(str2,str2));//alexsbsb
#charAt 返回指定索引位置的字符
var str = 'alex';
var charset = str.charAt(1);
console.log(charset);//l
#indexOf/search 查找字符的下标,如果找到返回字符串的下标,找不到则返回-1 。
var str = 'alex';
console.log(str.indexOf('e'));//2
console.log(str.indexOf('p'));//-1
console.log(str.search('e'));//2
console.log(str.search('p'));//-1
#slice(start,end) 切片。左闭右开 分割数组 接收负参数
var str = '小马哥';
console.log(str.slice(1,2));//马
#substr(start,length) 返回一个字符串:从指定位置开始,取指定字符数.
var str = '我的天呢,a是嘛,你在说什么呢?a哈哈哈';
console.log(str.substr(0,4));//我的天呢
var str = '我的天呢,a是嘛,你在说什么呢?a哈哈哈';
console.log(str.substr(9,6));
var str = '我的天呢,a是嘛,你在说什么呢?a哈哈哈';
console.log(str.substr(-3,3));
#substring(indexStart,indexEnd) 切子字符串。顾头不顾尾
如果 indexStart 等于 indexEnd,substring 返回一个空字符串。
如果省略 indexEnd,substring 提取字符一直到字符串末尾。
如果任一参数小于 0 或为 NaN,则被当作 0。
如果任一参数大于 stringName.length,则被当作 stringName.length。
如果 indexStart 大于 indexEnd,则 substring 的执行效果就像两个参数调换了一样
#replace(a,b) 将字符串a替换成字符串b
var a = '1234567755';
var newStr = a.replace("4567","****");
console.log(newStr);//123****755
#split('sep',n) 切割,根据n保留切割的数组长度
var str = '我的天呢,a是嘛,你在说什么呢?a哈哈哈';
console.log(str.split('a'));//["我的天呢,", "是嘛,你在说什么呢?", "哈哈哈"] 如果第二个参数没写,表示返回整个数组
console.log(str.split('a',2));//["我的天呢,", "是嘛,你在说什么呢?"] 如果定义了个数,则返回数组的最大长度
#toLowerCase():全部变成小写:
var str = 'EVA';
console.log(str.toLowerCase());//eva
#toUpperCase():全部变成大写:
var str = 'xiaomage';
console.log(str.toUpperCase());
3.布尔值boolean
#true或者false 注意:首字母小写
var b1 = false;
console.log(typeof b1)
#在js代码中'',0,NaN,null,undefined的布尔值都是false
4.空元素
#空元素打印布尔值为false
#null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
var c1 = null;//空对象. object
console.log(c1)
5.未定义类型
#undefined打印的布尔值为false
#undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。
还有就是函数无明确的返回值时,返回的也是undefined,
var d1;
//表示变量未定义:undefined
console.log(typeof d1)
6.object类型
#JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...
此外,JavaScript 允许自定义对象
#示例:
var a='123456';
typaOf(a)//String
var b= new String('123456')
typeOf('b')//object
#通过new实例化出来的对象都是object类型,虽然看起来都是字符串但是打印的数据类型是不同的。
字符串,数字类型,数组等内置对象都是object类型