JavaScript

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对象时间前加'+'号

  1. let time=new Date(); 这一行创建了一个新的Date对象,表示当前的时间(即该行代码执行时的时间)。

  2. console.log(time.valueOf()); 这一行调用了Date对象的valueOf()方法,该方法返回一个表示自1970年1月1日00:00:00 UTC至当前时间的毫秒数的整数。这通常用于比较两个日期或者在需要一个时间戳的地方使用。

  3. console.log(time.getTime()); getTime()方法与valueOf()非常相似,它也返回从1970年1月1日00:00:00 UTC到现在的毫秒数。实际上,在Date对象上,valueOf()getTime()返回相同的结果。

  4. let time2= +new Date(); 在这里,通过在new Date()前加上一个加号(+),实现了将Date对象转换为其数值表示形式,即自1970年1月1日以来的毫秒数。这是另一种方式来获取时间戳。

因此,所有这些方法 (valueOf(), getTime(), 和 +new Date()) 返回的都是同样的东西:一个表示从Unix纪元开始(1970年1月1日00:00:00 UTC)到指定日期时间的毫秒数的整数。这个数字可以用来计算时间差或存储时间戳等用途。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值