一、
1. js:java script
js:基于对象,解释执行
java:面向对象,编译执行
2. html 引入 js 方式
(1)内部 js:body的最后一行
如下:
3. 控制台的输入输出
(1)console.log(内容);
4. js 变量和数据类型
(1)变量声明
① var varName;
② let varName;
(2)赋值时确定变量的类型:
注意:值类型决定变量类型
变量的类型随着赋值类型的不同,可以改变
甚至变量可以不用声明,直接赋值使用,但不允许
① 获取变量的实际类型 var str = typeof(var)
② string ‘,’ “,” “.”
1)字符串转化为数值类型
a .var int = parseInt(str); 字符串转化为整数
b. var float = parseFloat(str); 字符串转化为小数
c. var length = str.length;
d. var ix = str.indexOf(subStr[,beginIndex])
[从beginIndex开始] 查找 subStr 的首字符在 str 中首次出现的位置
如果存在返回:0~str.length-1,否则返回-1
e. varlastIx = str.lastIndexOf(subStr[,beginIndex]);
[从beginIndex开始] 查找 subStr 的首字符在 str 中最后出现的位置
f. var sutStr = str.substring(beginIndex[,endIndex]);
截取从beginIndex(inclusive)开始到endIndex(exclusive)之间的字符串
g. var arr = str.split(sepStr);
以 sepStr 为分隔符,将字符串 str 拆分成字符串数组
h. 字符串拼接:
+ 同 java
“aa”.concat(“bb”);
③ number 1,0.5,3455555345343433
1)var float = float.toFixed(n); 保留精度n;
④ boolean true,false
1)js 中:0,“”,’ ‘,null,undefined;作为 false 使用
⑤ undefined [声明]未赋值
⑥ object 引用类型
1)数组
a . 创建数组
var arr = new Array(val,val 2, val3,…);
var arr = [“aa”,“bb”,“cc”];
b. 数组的常用属性和方法;
int len = arr.length; //获取数组的长度(数组中元素的数量)
arr.push(item); //尾部追加元素
arr.splice(beginIndex,howManytoDelete,item…)
//从beginIndex(inclusive) 开始删除 howManytoDelete 个元素,并插入 item…,
如果howManytoDelete 为 0;则默认为插入操作,如果 item …空,则默认为删
除操作。
var peak = arr.pop(); //获取并删除最后一个元素
var top = arr.shift(); //获取并删除第一个元素
var str = arr.join(joinStr); //使用指定的joinStr 将所有的数组元素连成一个字符串
c. 数组遍历:
for(var i=0;i<names.length;i++){
console.log(names[i]);
}
i 为下标
for(const i in names){
console.log(names[i]);
}
names.forEach((e,i)=>{
console.log(i+","+e);
}}
names.forEach(e=>{
console.log(e);
}}
2)日期
var date = new Date([long]);
var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.geDate();
var weekDay = date.getDay(); 0~6
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
var millisec = date.getMillionSeconds();
3)自定义对象
var instanceof Type //类型判断
var obj = new Object();
var obj = {};
//构造函数
function Student(stuNo,name,age){
this.stuNo = stuNo;
this.name = name;
this.age = age;
this.getStuNo = function(){return this.stuNo;}
this.getName = function(){return this.name;}
this.getAge = function(){return this.age;
this.setStuNo = function(stuNo){this.stuNo = stuNo;}
this.setSName = function(name){this.name = name;}
this.setAge = function(age){this.age = age;}
this.toString = function(){
return [this.stuNo,this.name,this.age].join(’,’);
}
}
// 构造函数创建对象:
var stu = new Student(1,“张三丰”,18,‘男’,“江苏南京”);
stu.setName(“李斯”);
console.log(stu.tostring());
// json 对象
var student = {
stuNo:1,
name:“卢本伟”,
age:32,
gender:“男”,
address:“卢本伟广场”
};
var stuStr = JSON.stringify(student);
// json 字符串(模板格式)
var stuStr = {"stuNo":1,"name":"卢本伟","age":32,"gender":"男","address":"卢本伟广场"}
;
var jsonStu = JSON.parse(stuStr);
//访问对象的属性
var val = obj.field
var val = obj.[“fieldName”]
// js 中类似反射
for(const field in student){
console.log(field+"="+student[field]);
}
⑦ function 函数类型
1)自定义函数
a. function funcName(param…){…}
b,.var funcName = function(param…){…}
c. 参数的值传递和引用传递
2) 内置函数:比如 parseInt…
parseInt
parseFloat
JSON.stringify
JSON.parse
setTimeout(func,time(ms)); 延时函数
setInterval(func,time(ms)); 定时函数
3) 构造函数:相当于 java 中的类
a.首字母大写函数
4)回调函数:将函数作为引用传给另一个函数
函数有括号为调用,无括号为引用
如下图里的输出语句里的 give() 为调用,add为引用
例如:
图中输出结果 console.log(give(add,5,13));先运算函数give,但它把方法给了add,所以调用函数add,用add里的方法运算;
补充: