大家好,又见面了,我是你们的朋友全栈君。
js一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。在语句上还是有一些类似之处,但本质上还是很不一样的: js是基于对象的,边解释边执行,而Java面向对象,编译之后再执行。
1.HTML引入js方式 (1)内部js:在·HTML中直接插入script语句要求最好出现在最后一行
<script>
...
</script>
(2)外部js:引入外部的js 实际就是同过.js文件导入外部js语句
<script path=””></script>
这里就是通过文件地址直接关联js文件。
2.js变量和数据类型 (1)变量声明
①var varname;
②let varname;
(2)变量的赋值 特别的:和java不同js是赋值时才确定变量类型:值类型决定变量类型,变量的类型随赋值类型的不同,可以改变,甚至变量可以直接赋值使用,但规范起见,不这样使用
①获取变量的实际类型
var str = typeof(var)
②string 字符串
“”,”*”,’’,’*’
字符串转化为数值类型以及字符串一些常见的用法
a.var int = parseInt(str); 字符串转化为整数
b.var float = parseFloat(str); 字符串转化为小数
c.var length = str.length;
d.var ix = str.indexOf(subSrt[,beginIndex])
//[从beginIndex位置开始]查找
//subStr的首字符在str中首次出现的
//位置如果存在返回位置
//不存在返回-1;
e.var lastIndex = str.lastIndexOf(subStr[,beginIndex])
//[从beginIndex位置开始]查找
//subStr的首字符在str中最后出现的位置
f.var subStr = str.substring(beginIndex [endIndex]);
//截取从beginIndex开始截取到
//endIndex之间的字符串
g.var arr = str.split(sepStr);
//以sepStr为分隔符,
//将字符串拆分成字符数组
h.字符串拼接
+:和java一样;
“aa”.concat(“bb”);
③数值类型:number
js中数值类型只有number
float.toFixed(n)
//小数精确到n位,四舍五入
④boolean类型
true/false
特别的:js中:0,’’,””,null,undefined(声明未赋值) 作为false使用
⑤object 引用类型
1)数组
a.创建数组
var arr = new Array(var1, var1,..);
var arr = [];
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.数组遍历
(1)for循环
for(var i=0;i<numbers.length;i++){
console.log(numbers[i]);
//console.log(“”);是控制 台的输出
}
(2)js中的in是下标
for(const i in numbers){
console.log(numbers[i]);
}
(3)forEach方法
numbers.forEach((e,i)=>{
console.log(i+","+e);
})
numbers.forEach(e=>{
console.log(e);
})
2)日期
var date = new Date();
console.log(date); 整个日期
console.log(date.getFullYear());
//获取年份
console.log(date.getMonth()+1);
//月份是从0开始的,所以+1是真实月份
console.log(date.getDate());
//获取几号
console.log(date.getDay());
//星期0~6
console.log(date.getHours());
//获取小时数
console.log(date.getMinutes());
//获取分钟数
console.log(date.getSeconds());
//获取秒数
3)自定义对象
var instanceof Type//判断类型
function Student(stuNo,name,age,gender,address){
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.setName = 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(6,"张 三",45,'男',"afdsf");
stu.setName("王二麻");
console.log(stu.toString());
//json对象创建
var student = {
stuNo:1,
name:"hhh",
age:98,
gender:"男",
address:"江苏南京"
};
var stuStr = JOSN.stingify(student);
//json字符串(模板格式)
var stuStr = `{"stuNo":1,"name":"huang"}`
var jsonStu = JOSN.parse(stuStr);
//访问对象的属性
var val = object.field;
var val = objec[“field”];
//类似于反射
for(const field in student){
console.log(field+"="+student[field]);
}
⑦function 函数类型 1)自定义函数
a.function funName(param...){...}
b.var funNamr = function(param...){...}
c.参数的值传递和引用传递
2)内置函数 比如parseInt…直接使用
parseInt
parseFloat
JSON.stringify
JSON.parse
setTImeout(func,tim(ms));延时函数
setInterval(func,time(ms));定时函数
3)构造函数:相当于java中的类 a.首字母大写的函数 4)回调函数:将函数作为引用传给另一个函数
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/156651.html原文链接:https://javaforall.cn