1.JavaScript(JS) 是一个脚本语言,通过解释器运行(通用的编程语言),主要是在客户端(浏览器)运行,现在也可以基于node.js在服务器上运行
JS能够实现网页开发,网页游戏开发,服务器开发,程序器开发,手机app开发
2.JavaScript和HTML和CSS之间的关系
HTML:网页的结构 CSS:网页的表现 JavaScript:网页的行为
DOM:页面文档对象模型,对页面中的元素进行操作
BOM:浏览器对象模型,对浏览器的窗口进行操作
3.JavaScript的书写形式
1)行内式 在标签中嵌入JavaScript代码
<input type="button" onclick="alert('haha')">
2)内嵌式:写到script标签中
<script>
alert('haha');
</script>
3)外部式 写到单独的.js文件中 使用src属性将文件调入
<script src="hello.js"></script>
//hello.js文件
alert("haha");
4.输入输出
输入:prompt 弹出一个输入框
console.log 在控制台打印日志



输出:alert 弹出一个警示对话框,输出结果
document,write("要输出的内容") 如果内容中含有html标签,标签也会被解析出来



5.变量
var是js中的关键字,表示这是一个变量 let 也可以定义变量
JS的变量类型是动态类型,在程序运行过程中才能确定类型,变量的类型也可能发生改变
var name ='zhangsan';
var age = 20;
let age=18;
let name="张三"
数据类型转换
1)toString()/强制类型转换
let x=10;
console.log(x.toString());
console.log(String(x));
2)字符串转换为其他类型
let a=parseInt("129");
let b=parseFloat("11.34");
console.log(b);
3)字符串转换为整数数值型
let a=Number("134");
自动数据类型转换
表达式中用( + ).且其中一个操作数为字符串,另一个操作数为数值时,JS自动将数值转换为字符串
表达式用了其他运算符,JS自动将字符串转换为数值
let x="15"+8 //x=158
let x="30"/5 //x=6
let x="15"-"8" //x=7
常量 const
const G=5;
6.数组
let num=[数据1,数据2...];
let arr= new Array('a','b','c');
1)数组新增:将一个或多个元素添加到数组末尾,返回该数组的新长度
数组.push(元素1,元素2...)
2)将一个或多个元素添加到数组的开头,返回该数组的新长度
数组.unshift(元素1,元素2...)
数组删除
3)将数组中最后一个元素删除,并返回该元素的值
数组.pop()
4)将数组中第一个元素删除,并返回该元素的值
数组.shift()
5)删除指定元素
数组.splice(start,deleteCount)
statr:起始位置 deleteCount删除几个元素



7.函数function
function 函数名(形参列表){
函数体
return 返回值
}
函数调用(执行函数体内容)
函数名(实参列表)
返回值=函数名(实参列表)
数组做函数参数
function getSum(arr){
函数体
for(let i=0;i<arr.length;i++){
....
}
}
//函数调用
getSum([1,3,5,7,9]);
匿名函数(没有名字的函数)
function(参数列表){
//函数体
}
使用方式:1)函数表达式2)立即执行函数
函数表达式(没有函数名,用变量名调用)
将匿名函数赋值给一个变量名,并且通过变量名进行调用
let fn =function(num1,num2){
console.log('函数表达式');
console.log(num1+num2);
}
//调用
fn(1,2);
立即执行函数;函数的声明和调用放在一起
function (参数列表){
//函数体
}([参数列表]);
(function(num1,num2){
console.log(num1+num2);
})(1,2);
8.对象(属性,方法)
1)使用{}创建对象
let a={};
let student={
name:'张三',
age:10,
height:180,
sayHello:function{
console.log("hello")
}
}
2)new Object创建对象
let Student=new Object();
3)使用构造函数创建对象
前面创建对象的方式一次只能创建一个对象
function Student(name,age,gender){
this.name=name;
this.age=age;
this.gender=gender;
this.getBook=function(book){
console.log(book);
}
}
let ZhangSan=new Student("张三","18",'男')
ZhangSan.getBook('JS');
对象使用
对象.属性 /对象名['属性名']
遍历对象 for (变量 in 对象){}
内置对象(JavaScript自带的一些对象,提供一些常用的基本必要功能供开发者着使用)
如:Math,Date,Array,String等
例:Math.random() 返回一个0-1之间,并且包含0,不含1的随机小数
生成5-10之间的随机数
Math.floor(Math.random()*(5+1)+5)
生成M-N之间的随机数
Math.floor(Math.random()*(N-M+1)+M)
Math.floor() 是 JavaScript 中的一个数学函数,它用于对一个数字进行向下取整操作。这意味着它会取传入参数的最大整数,该整数不大于原数
Date对象
日期对象,是一个构造函数,必须使用new来创建日期对象
let today=new Date();
格式化日期
getMonth();返回0-11数字,0表示1月,11表示12月;
getFullYear();返回年份
getDate():返回的几号或几日
getDay();返回0-6的数字,0表示周日
getMinutes();返回0-59的数字,表示当前日期对象的分钟数
getHours();返回0-13的数字,表示当前日期对象的小时
getSeconds();返回0-59的数字,表示当前日期对象的秒数
getTime();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let today=new Date();
let data1=new Date("2012.12.10");
let data2=new Date(2012,12,10);
console.log(today);
console.log(data1);
console.log(data2);
let year=today.getFullYear();
let month=today.getMonth()+1;
// 星期
let day=today.getDay();
let date=today.getDate();
let arr=["日","一","二","三","四","五","六"]
document.write("今年是"+year+"年"+month+"月"+date+"日"+"星期"+arr[day]);
function getTime(){
let now =new Date();
let h=now.getHours();
let m=now.getMinutes();
let s=now.getSeconds();
h<10? '0'+h:h;
m<10? '0'+m:m;
s<10? '0'+s:s;
return h+":"+m+":"+s;
}
document.write(getTime());
</script>
</body>
</html>


Date时间戳
valueOf(),getTime(),或new对象时间前加'+'号


-
let time=new Date();这一行创建了一个新的Date对象,表示当前的时间(即该行代码执行时的时间)。 -
console.log(time.valueOf());这一行调用了Date对象的valueOf()方法,该方法返回一个表示自1970年1月1日00:00:00 UTC至当前时间的毫秒数的整数。这通常用于比较两个日期或者在需要一个时间戳的地方使用。 -
console.log(time.getTime());getTime()方法与valueOf()非常相似,它也返回从1970年1月1日00:00:00 UTC到现在的毫秒数。实际上,在Date对象上,valueOf()和getTime()返回相同的结果。 -
let time2= +new Date();在这里,通过在new Date()前加上一个加号(+),实现了将Date对象转换为其数值表示形式,即自1970年1月1日以来的毫秒数。这是另一种方式来获取时间戳。
因此,所有这些方法 (valueOf(), getTime(), 和 +new Date()) 返回的都是同样的东西:一个表示从Unix纪元开始(1970年1月1日00:00:00 UTC)到指定日期时间的毫秒数的整数。这个数字可以用来计算时间差或存储时间戳等用途。
1759

被折叠的 条评论
为什么被折叠?



