JS 语句语法1

01-js介绍.js

// 语法分类:es5、es6,js是弱类型语言。

// es6是对es5语法的优化、查漏补缺。

02-变量声明.js

// es5变量声明使用var
// 1. 可以重复声明变量;
// 2. 存在变量提升;
// 变量提升:是js中一种特有的编译机制,每次浏览器在执行js代码之前,都会先编译js,将使用var声明的变量,或者是function函数提升到 **当前作用域** 的最顶端。
console.log(uname);var uname = "小名";
var uname = 100;uname = "小王";
console.log(uname);var a = 10;
var b = 20;// es6变量声明使用let、const
// 1.不能重复声明变量;
// 2.let、const解决了变量提升的问题;
let uage = 20;
uage = true;// let uage = 10; // 报错
// console.log(usex); // 报错:使用let、const必须先声明,再使用。
const usex = false;
// const usex = true; // 报错
console.log(uage, usex);// es6使用let声明变量,使用const声明常量,使用const声明的变量,值不能被修改。
// usex = [1, 3, 5]; // 报错,不允许修改
// 注意:数组和对象用const声明的时候,内部的属性是可以修改的。
const arr = [1, 2, 3, 4];
arr[0] = 100;const user = { name: "小名", age: 10 };
user.name = "小红";
console.log(arr, user);

03.作用域分类.js

// es5两种:全局作用域,局部作用域,对应的变量就是全局变量和局部变量。
// es5局部作用域:函数内部,其他情况都是全局作用域(包括循环和条件语句)
var a = 10;if (true) {var b = 20;
}for (var i = 0; i < 2; i++) {var test = 11;
}console.log(a, b, test);function sum() {// var c = 30; // 函数内部使用var声明变量是局部变量。
}
// console.log(c);// es6三种:全局作用域,局部作用域,块级作用域。对应的变量就是全局变量和局部变量。
// es6局部作用域:函数内部,块级作用域(循环和条件语句),其他情况都是全局作用域。
let a1 = 100; // 全局变量if (true) {// 块级作用域,变量只能在块内部使用let b1 = 20;
}
console.log(a1, b1);

04.数据类型.js

// 数据类型:基本数据类型、引用类型(复杂类型)。
// 基本数据类型:string,number,boolean,undefined
// 引用类型:null,函数,数组,对象
// typeof和instanceOf两种方法判断数据类型。// let a = 10; // number
// let a = "10"; // string
// let a = true; // boolean
// let a = undefined; // undefined// 注意:object是js中广义上的类型,数组/null/侠义对象都属于object,typeof不能精准判断对象类型。
// let a = [1, 2, 3, 4]; // object
// let a = null; // object
// let a = { name: 1 }; // object
// let a = function () {}; // function
// console.log(typeof a);// instanceof:用于判断一个变量是否属于某个类的实例对象,返回值为bool值。
// let a = [1, 2, 3, 4]; // true
// let a = null; // object
// let a = { name: 1 }; // object
// let a = function () {}; // function
console.log(a instanceof Object);
console.log(a instanceof Array);

05.字符串方法API.js

let string = "Abcda5a8";
let string1 = "efg";
// 1. 属性length
console.log(string.length);// 4. indexOf(要查找的字符,从哪个索引位置开始查找): 返回指定字符第一次出现的位置,没有符合条件的字符返回-1。
// console.log(string.indexOf("a", 2));
console.log(string.indexOf("f")); // -1// 5. replace(): 将字符串中的某个字符,替换为目标字符,返回替换后的字符。默认不会替换所有,只会替换第一次出现的字符。如需替换所有,用正则表达式匹配。
// console.log(string.replace("a", "f"));
console.log(string.replace(/a/gi, "f")); // g表示全局匹配,i表示忽略大小写// 6. slice(起始索引(含),结束索引(不含)): 截取一段字符串内容。
console.log(string.slice(0, 3));// 7. split(截取的标识): 根据指定字符对字符串进行截取,返回一个数组。
let sku = "6G+128G;8G+128G;8G+256G;8G+521G";
console.log(sku.split(";"));// 8. 英文字符大小写转换
console.log(string.toUpperCase()); // 转化为大写
console.log("ABCD".toLowerCase()); // 转化为小写// 9. trim(): 移除首尾两端的空格,中间的不行
console.log("  12  345   ".trim());// 2. charAt(): 返回指定索引位置的字符;
console.log(string.charAt(0));// 3. concat(): 连接两个或多个字符串,返回连接后的字符串
console.log(string.concat(string1));

06.数值类型.js

// 数值number类型:整数和小数
let num = 10;// number类型 -> string类型
// 1. toString() 将数值转化为字符串类型
console.log(typeof num, typeof num.toString());// 2. toFixed() 将小数设置保留几位,返回字符串类型
let num1 = 10.5678;
console.log(typeof num1.toFixed(2));// 3. 利用+算术运算符进行隐式转换
let res = num1 + "";
console.log(typeof res);// string类型 -> number类型
// 1. parseInt() parseFloat() 都返回number类型
let num2 = "10.55";
console.log(parseInt(num2));
console.log(parseFloat(num2));// 2. 利用*算术运算符进行隐式转换
console.log(num2 * 1);// number类型中的特殊类型:NaN,非正常的数值类型,在运算出错时出现。
console.log(typeof ("abc" * 10));

07.运算符.js

// 1. == 和 === : ==只比较值不比较类型,===比较值又比较类型。
let num1 = 10;
let num2 = "10";if (num1 == num2) console.log("==相等");
if (num1 === num2) console.log("===相等");// 2. &&与,||或
if (num1 == 10 && num2 == "10") console.log("&&成立");
if (num1 == 10 || num2 == "100") console.log("||成立");

08.Math对象.js

let num1 = 10.66;
// Math.round(数值): 返回一个四舍五入的整数
console.log(Math.round(num1));// Math.floor(数值): 向下取整,不存在四舍五入
// let num2 = 10.99; // 结果10
let num2 = 10.01; // 结果10
console.log(Math.floor(num2));// Math.floor(数值): 向上取整,不存在四舍五入
// let num3 = 10.99; // 结果11
let num3 = 10.01; // 结果11
console.log(Math.ceil(num3));// Math.random(): 求0-1之间的随机数,结果不会取到1,0是可以随机到的。
// 区间: [0,1)
console.log(Math.random());// 求50-100之间的随机数,求随机数公式:Math.random() * (最大值-最小值) + 最小值
console.log(Math.random() * 50 + 50);// 求11-56之间的随机数
console.log(Math.random() * 45 + 11);

09.Date对象.js

// 创建一个当前时间的时间对象。
let date = new Date();// 年 月 日
console.log(date.getFullYear(), date.getMonth() + 1, date.getDay());
// 时 分 秒
console.log(date.getHours(), date.getMinutes(), date.getSeconds());// 获取时间戳:是一个事件节点,表示从 1970 年 1 月 1 日至某个时间点的毫秒数。1秒=1000毫秒
console.log(date.getTime(), Date.now());// 创建某个时间点的事件对象
// new Date(milliseconds) // 返回从 1970 年 1 月 1 日至今的毫秒数
// new Date(dateString) 参数是日期字符串
// new Date(year, month, day, hours, minutes, seconds, milliseconds)
const date1 = new Date(1701674757847);
console.log(date1); // 返回当前时间戳对应的日期时间
const date2 = new Date("Dec 04, 2023 15:25:57");
console.log(date2.getTime());
const date3 = new Date(2023, 12, 4, 15, 25, 57);
console.log(date3.getTime());

10.对象.js

// js对象:狭义上的对象。let user = { name: "小王", age: 20 };
// Object.keys(目标对象):获取对象中所有的键,返回值是一个数组。
console.log(Object.keys(user));
// Object.values(目标对象):获取对象中所有的值,返回值是一个数组。
console.log(Object.values(user));
// 增
user["sex"] = "男";// 删
// delete user.name;// 改
user["age"] = 30;let params = "sex";
user[params] = "校长";
console.log(user, user.age);// JSON是一种有着固定结构和语法的数据,俗称JSON字符串,后端接口通常返回JSON字符串。
// 特点:
// 1. 跨平台;一套接口部署多个平台
// 2. 数据结构简单, 解析方便
// 3. 数据量小, 传输速度更快// 它相当于是一个字符串对象, 内部的键必须使用双引号. '{"a":1, ...}'// 对象和JSON之间的转化
// JSON字符串 -> 对象
let json = '{"code": 0, "data": {}}';
console.log(JSON.parse(json));// 对象 -> JSON字符串
console.log(JSON.stringify(user));let json1 ='{"code": 0,"message": "","data": {"list": [{"label": "经典观光","id": "93","img": "https://product-ssl-qiniu.bmtrip.com/product_5da95859aa87a.png","children": []},{"label": "亲子系列","id": "114","img": "https://product-ssl-qiniu.bmtrip.com/product_5e1ea6dad2f80.png","children": []}';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/206556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系列学习前端之第 4 章:一文精通 JavaScript

全套学习 HTMLCSSJavaScript 代码和笔记请下载网盘的资料&#xff1a; 链接: 百度网盘 请输入提取码 提取码: 6666 1、JavaScript 格式 一般放在 html 的 <head> 标签中。type&#xff1a;默认值text/javascript可以不写&#xff0c;不写也是这个值。 <script typ…

mybatis数据输出-单个简单类型和返回实体类型对象以及别名设置

1、建库建表 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUES("tom",200.33); INSERT INTO…

家电制造数字孪生5G智能工厂可视化系统,加速家电制造产业数字化转型

5G数字孪生、三维可视化与工业互联网的融合加速中国新型工业化进程&#xff0c;助推我国从制造大国迈进制造强国。家电行业是中国最具国际竞争力的产业之一&#xff0c;在企业数字化转型中&#xff0c;要求企业从生产设备到数字化系统&#xff0c;一系列的数字化、智能化改革已…

uniapp实战 —— 骨架屏

1. 自动生成骨架屏代码 在微信开发者工具中&#xff0c;预览界面点击生成骨架屏 确定后&#xff0c;会自动打开骨架屏代码文件 pages\index\index.skeleton.wxml 2. 将骨架屏代码转换为vue文件 在项目中新建文件 src\pages\index\components\skeleton.vue 将pages\index\index…

【C/PTA —— 15.结构体2(课外实践)】

C/PTA —— 15.结构体2&#xff08;课外实践&#xff09; 7-1 一帮一7-2 考试座位号7-3 新键表输出7-4 可怕的素质7-5 找出同龄者7-6 排队7-7 军训 7-1 一帮一 #include<stdio.h> #include<string.h>struct student {int a;char name[20]; };struct student1 {int …

通讯app:

为了开发一个即时通讯的app&#xff0c;包含发送文字、语音、视频以及视频通话的功能&#xff0c;我们需要考虑以下的技术栈和实现步骤&#xff1a; 技术栈建议&#xff1a; 前端&#xff1a;React Native 或 Flutter 用于跨平台移动应用开发。后端&#xff1a;ThinkPHP Wor…

前端-杂记

1 子域请求时候会默认带上父域下的Coolkie 2 document.cookie 设置cookie只能设置当前域和父域&#xff0c;且path只能是当前页或者/ 比如当前页面地址为 http://localhost:3000/about 我们设置 document.cookie "demo11"; 设置 document.cookie "demo22; …

项目实战之RabbitMQ死信队列应用

&#x1f9d1;‍&#x1f4bb;作者名称&#xff1a;DaenCode &#x1f3a4;作者简介&#xff1a;啥技术都喜欢捣鼓捣鼓&#xff0c;喜欢分享技术、经验、生活。 &#x1f60e;人生感悟&#xff1a;尝尽人生百味&#xff0c;方知世间冷暖。 文章目录 &#x1f31f;架构图&#x…

Linux---网络时间服务器

本章主要介绍网络时间服务器。 使用chrony配置时间服务器配置chrony客户端向服务器同步时间 时间同步的必要性 一些服务对时间要求非常严格&#xff0c;例如&#xff0c;下图所示的由三台服务器搭建的ceph集群。 这三台服务器的时间必须保持一致&#xff0c;如果不一致&am…

Linux——操作系统与进程的基础概念

操作系统与进程的基础概念 本章思维导图&#xff1a; 注&#xff1a;思维导图对应的.xmind和.png文件都已同步导入至资源 1. 操作系统&#xff08;OS&#xff09; 操作系统的基本概念&#xff1a; 操作系统(operator system)简称OS&#xff0c;是一个管理软硬件资源的软件 1.…

redis查看统计信息

查看统计信息 在cli下使用info来查看统计信息 >info# Serverredis_version:6.2.1 #redis版本号redis_git_sha1:00000000 #git SHA1redis_git_dirty:0 redis_build_id:b1484a8552b715dbredis_mode:standalone #redis运行模式os:Darwin 19.6.0 x86_64 # os版本号arch_bits:64…

Maven基础知识

Maven是一款用于管理和构建Java项目的工具 Maven的作用&#xff1a; 依赖管理&#xff1a;方便快捷的管理项目依赖的jar包&#xff0c;避免版本冲突问题统一项目结构&#xff1a;提供标准统一的项目结构项目构建&#xff1a;标准跨平台的自动化项目构建方式 maven创建的工程…

Linux下的I2C驱动框架以及代码实现

参考资料&#xff1a; 1、Linux IIC 驱动分析 — 框架分析 - 知乎 (zhihu.com) 2、《Linux驱动开发指南》第十一章 3、《正点原子 I.MX6U嵌入式Linux驱动开发指南 V1.6》 4、《Linux设备驱动开发详解》 代码版本&#xff1a;Linux4.1.15 阅读本文需要先有一定的I2C基础以及Linu…

【UE5】瞬移+马赛克过渡效果

效果 步骤 1. 新建一个工程&#xff0c;创建一个Basic关卡 2. 添加第三人称游戏资源到内容浏览器 3. 新建一个材质&#xff0c;这里命名为“M_Pixel” 打开“M_Pixel”&#xff0c;设置材质域为“后期处理” 在材质图表中添加如下节点 此时效果如下&#xff0c;已经有马赛克的…

git 常用部分方法

git init // 初始化 在工作路径上创建主分支 git clone 地址 // 克隆远程仓库 git clone -b 分支名 地址 // 克隆分支的代码到本地 git status // 查看状态 git add 文件名 // 将某个文件存入暂存区 git checkout -- file // 撤销工作区的修改 例如git checkout -- readMe…

华为云安全组规则

初始发布cce,快被安全组搞死了。现在把自己的研究成果综合一下,在这里给自己留痕,希望对迷惑的朋友有帮助。 先搞懂安全组是个啥东东: 安全组规则 操作场景 安全组实际是网络流量访问策略,通过访问策略可以控制流量入方向规则和出方向规则,通过这些规则可以为加入安全组…

聊聊AsyncHttpClient的ChannelPool

序 本文主要研究一下AsyncHttpClient的ChannelPool ChannelPool org/asynchttpclient/channel/ChannelPool.java public interface ChannelPool {/*** Add a channel to the pool** param channel an I/O channel* param partitionKey a key used to retrieve the cac…

java对文件夹,文件操作

1、使用Java自带的File类来创建文件夹 String dirName "/data/file/temporaryfiles/"; File dir new File(dirName); if (!dir.exists()) {try {dir.mkdir();} catch (SecurityException se) {System.out.println("文件创建失败");}} else {System.out.…

视频处理关键知识

1 引言 视频技术发展到现在已经有100多年的历史&#xff0c;虽然比照相技术历史时间短&#xff0c;但在过去很长一段时间之内都是最重要的媒体。由于互联网在新世纪的崛起&#xff0c;使得传统的媒体技术有了更好的发展平台&#xff0c;应运而生了新的多媒体技术。而多媒体技术…

【android开发-21】android中调用系统摄像头camera拍照和相册的用法详解

1&#xff0c;调用摄像头 在Android中&#xff0c;调用系统摄像头拍照需要使用Intent来启动Camera应用&#xff0c;并在应用中设置相应的权限。下面是一个简单的例子&#xff1a; // 创建一个Intent对象&#xff0c;指定要执行的动作是拍照 Intent intent new Intent(Medi…