基本语法
1、输出语句:
document.write(“hello js 2~”);//写入html页面
console.log(“hello js 3”);//写入浏览器的控制台
window.alert(“hello js”);//写入警告框
2、书写语法和数据类型
作为弱类型的语言
原始数据类型(基本数据类型):
1. number:数字。 整数/小数/NaN(not a number 一个不是数字的数字类型)
2. string:字符串。 字符串 “abc” “a” ‘abc’
3. boolean: true和false
4. null:一个对象为空的占位符
5. undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
引用数据类型:对象
3、变量
语法:
var 变量名 = 初始化值;
或者let 变量名 = 初始化值;
typeof运算符:获取变量的类型。
注:null运算后得到的是object
4、运算符
JavaScript 提供了如下的运算符。大部分和 Java语言 都是一样的,不同的是 JS 关系运算符中的和=
一元运算符:++,–
算术运算符:+,-,*,/,%
赋值运算符:=,+=,-=…
关系运算符:>,<,>=,<=,!=,==,===
逻辑运算符:&&,||,!
三元运算符:条件表达式 ? true_value : false_value
注意: 1、 ==: 判断类型是否一样,如果不一样,则进行类型转换 再去比较其值 ===:js 中的全等于
判断类型是否一样,如果不一样,直接返回false 再去比较其值2.其他类型转为number string转–使用 parseInt() 函数(方法) boolean转–使用+号 boolean 转换为 number 类型:true 转为1,false转为0
3.其他类型转为boolean
1.number 类型转换为 boolean 类型:0和NaN转为false,其他的数字转为true
2.string 类型转换为 boolean 类型:空字符串转为false,其他的字符串转为true
3.null类型转换为 boolean 类型是 false
4.undefined 转换为 boolean 类型是 false4、三元运算符 表达式? 值1:值2;
5、流程控制语句
1. if…else…
2. switch:在JS中,switch语句可以接受任意的原始数据类型
3. while
4. do…while
5. for
基本对象
1、Function: 函数(方法)对象
定义:
- 方式1
function 函数名(参数1,参数2…){
要执行的代码
} - 方式2
var 函数名 = function (参数列表){
要执行的代码
}
注意:
- 形式参数不需要类型。因为JavaScript是弱类型语言
function add(a, b){
return a + b;
} 上述函数的参数 a 和 b 不需要定义数据类型,因为在每个参数前加上 var 也没有任何意义。- 返回值也不需要定义类型,可以在函数内部直接使用return返回即可
3.方法是一个对象,如果定义名称相同的方法,会覆盖- 在JS中,方法的调用只与方法的名称有关,和参数列表无关
调用:
函数名称(实际参数列表); 函数调用可以传递任意个数参数。
2、 Array:数组对象 感觉是集合跟数组的结合体
定义:
- 方式1
var 变量名 = new Array(元素列表);
例如:
var arr = new Array(1,2,3); //1,2,3 是存储在数组中的数据(元素) - 方式2
var 变量名 = [元素列表];
例如:
var arr = [1,2,3]; //1,2,3 是存储在数组中的数据(元素)
注意:Java中的数组静态初始化使用的是{}定义,而 JavaScript 中使用的是 [] 定义
调用:var arr2 = [1,2,3];
特点:
- JS中,数组元素的类型可变的。
- JS中,数组长度可变的。
join(参数):将数组中的元素按照指定的分隔符拼接为字符串
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
splice 函数:删除元素
参数1:索引。表示从哪个索引位置删除
参数2:个数。表示删除几个元素
sort() 排序
length:数组的长度
- Date:日期对象
- 创建:
var date = new Date(); - 方法:
toLocaleString():返回当前date对象对应的时间本地字符串格式
getTime():获取毫秒值。返回当前如期对象描述的时间到1970年1月1日零点的毫秒值差
- 创建:
- Math:数学对象
- 创建:
特点:Math对象不用创建,直接使用。 Math.方法名(); - 方法:
random():返回 0 ~ 1 之间的随机数。 含0不含1
ceil(x):对数进行上舍入。
floor(x):对数进行下舍入。
round(x):把数四舍五入为最接近的整数。 - 属性:PI
- 创建:
5.String:对象的创建方式有两种
- 方式1:
var 变量名 = new String(s); - 方式2:
var 变量名 = “数组”;
String username=“zhangsan”
函数和属性:
length:用于动态的获取字符串的长度
trim() 所有的浏览器都支持;它是用来去掉字符串两端的空格。
6.自定义对象({}代表对象,[]代表数组)
var 对象名称 = {
属性名称1:属性值1,
属性名称2:属性值2,
…,
函数名称:function (形参列表){},
…
};
BOM
window.location 对象可用于获取当前页面地址(URL)并把浏览器重定向到新页面。
// 需求2:完成3秒后,跳转到百度首页
setTimeout(function () {
console.log("当前页:"+window.location.href)
// window.location.href 属性返回当前页面的 URL。
window.location.href="https://www.baidu.com/"
},5000)
// 需求3:完成每隔3秒,输出我爱java
setInterval(function () {
console.log("我爱java")
// 可以改造成为轮播图
},3000)
点击一个按钮,开始每隔3秒,换一张图片
var index=0;
function changeImg() {
setInterval(function () {
//每隔3秒钟换图片的地址--img的src属性
// 获得了图片的元素对象
var elementById = document.getElementById("img");
console.log("换图片了"+elementById)
//通过img对象修改src属性
elementById.src=imgarr[index%4]
index++;
// 获得输入框的输入内容
var value = document.getElementById("name").value;
console.log("输入框的值是:"+value)
},1000)
}