JavaScript基础

JavaScript

1.js基础

持续更新,

1.JavaScript 的诞生

​ JavaScript 诞生于 1995 年。由Netscape(网景公司)的程序员Brendan Eich(布兰登)与Sun公司联手开发一门脚本语言, 最初名字叫做Mocha,1995年9月改为LiveScript。12月,Netscape公司与Sun公司(Java语言的发明者)达成协议,后者允许将这种语言叫做JavaScript。这样一来,Netscape公司可以借助Java语言的声势。
​ 1996年3月, Netscape公司的浏览器Navigator 2.0浏览器正式内置了JavaScript脚本语言. 此后其他主流浏览器逐渐开始支持JavaScript.

2.JavaScript 的简介

1.什么是js?

与网页进行交互的脚本语言,有一定的逻辑性

2.什么是脚本?

脚本特点:辅助,简单.即写即所得

3.JavaScript 语言特点

  • 1.脚本语言 即写即所得

  • 基于对象 面向对象,同时也支持面向过程

  • 简单

  • 动态性

  • 跨平台性

    • 现在的js 可以在客户端对运行 可以在服务器端运行
    • 客户端运行:只要能装浏览器的地方,就能运行js
    • 服务端运行: window server 2012,Linux…基于node.js

4.js的组成部分

  1. ECMAScript 定义语法规范 保留字 关键字
  2. DOM (文档对象模型)
  3. BOM(浏览器对象模型) 控制浏览器的前进 后退 刷新 关闭…

3.script属性

src:引入外面的js文件 重点

​ defer async都是异步加载

async 异步加载+代码加载完后 立即触发(执行)

defer 异步加载+页面解析完后 立即触发(执行)

注意:defer和async要结合src使用

charset:设置字符集的编码 gb2310 utf-8(万国码) utf-16

type :表示脚本语言的类型 text/javascript,默认值就是它.

4.变量的声明

语法:var 变量名称=“值”

1.变量定义(使用var关键字 variable):

var age;       //var 是关键字,age是变量名
  1. 赋值方法:

赋值:

    age = 20;

定义的同时赋值:

    var age=20

可以一次定义多个变量:

   var name=“zhangsan", age=18,weight=108;console.log(name);

JS是弱数据类型的语言,弱类型语言的值可以随意被修改,容错性较高, 在赋值的时候才确定数据类型

弱数据类型特点

1.值可以随意修改

2.声明变量不赋值,不会报错(打印undefined)

    var b;           //temp时啥数据类型?不确定 b = 12;            //temp变量是数字类型b = “hello”;      //temp变量变成了字符串类型//typeof 关键字 查看变量是什么类型console.log(typeof b);

5.关键字和保留字

关键字 : 已经被JS内部使用了的

在这里插入图片描述

保留字: 虽然暂时还未被使用, 但将来可能会被JS内部使用

在这里插入图片描述

6.变量的命名规则

1, 变量名只能是数字,字母,下划线_和美元符$组成;
2, 第一个字符不能为数字(不能以数字开头)
3**, 不能使用关键字或保留字**
4, 严格区分大小写,如:age和Age是不同的变量。但强烈不建议用同一个单词的大小写区分两个变量。
5, 变量命名尽量遵守驼峰原则(驼峰命名法):

myStudentScore(小驼峰) 变量 形参

​ MyName(大驼峰) 构造函数 类

6, 变量命名尽量见名思意, 可参考下图

在这里插入图片描述

7.js数据类型

JS数据类型一般可以分为:

Boolean: 布尔类型
Number:数字(整数int,浮点数float )
String:字符串
Object:对象 (包含Array数组 )
特殊数据类型 NullUndefined

注意: 变量的类型在赋值时才能确定

typeof 操作符:

​ 用来检测变量的数据类型, 对于值或变量使用 typeof 操作符会返回如下字符串:
Undefined数据类型的值为: undefined 未定义
Boolean数据类型的值为: boolean 布尔值
String数据类型的值为: string 字符串
Number数据类型的值为: number 数值
Object数据类型的值为: object 对象或者null
Function数据类型的值为: function 函数

 var str="易哈哈哈";console.log(typeof str);//string 字符串var weight=70;console.log(typeof weight);//number 整型 浮点型(小数类型)var flag=true;console.log(typeof flag);//boolean true(1) false(0)var age;console.log(typeof age);//undefinedvar obj=null;console.log(typeof obj);//objectvar a=null;console.log(a)//null

字符串转换数字类型:

​ parseInt() 是把其它类型转换为整型
​ parseFloat() 是把其它类型转换为浮点型(小数)

​ Math.round() 四舍五入
​ 如: (78.566) -> 78

 // parseInt 转换整型(重点)// parseFloat 转换浮点型(保留小数点)重点var num = 12.345;console.log(parseInt(num));//12var num = "12.678";console.log(parseInt(num));//12var h = "35px";console.log(parseInt(h));//35var h = "35.66px";console.log(parseFloat(h));//35.66var h = "px355";console.log(parseInt(h));//NaN 不是一个数字,不能放在前面,否则就不能截取

isNaN()是数值为false ,不是数值true(掌握)

     // isNaN()是数值为false ,不是数值true(掌握)console.log(isNaN("你好"));//trueconsole.log(isNaN("99"));//falseconsole.log(isNaN(99));//false

最大值 最小值 了解

  // 最大值 最小值 了解console.log(Number.MAX_VALUE);//1.7976931348623157e+308console.log(Number.MIN_VALUE);//5e-324

NaN殊的值 不是一个数字

  // NaN 特殊的值 不是一个数字console.log(0 / 0);//NaNconsole.log("你好" * 100);//NaN// number// var num=10;// var a=NaN;//不是一个数字// console.log(typeof NaN);//true// 牢记null派生了undefinedconsole.log(null == undefined); true

8.类型转换

1.其他类型转换为number类型

   // 强制转换Number  parseInt parseFloatconsole.log(Number(str));console.log(parseInt(str));console.log(parseFloat(str));
 // 隐式转换(- / * %)var str1 = "200";console.log(str1 - 0);console.log(str1 / 1);console.log(str1 * 1);console.log(str1 % 201);// console.log(str1 + 201);//200201console.log(200 == "200");//true

2.其他类型转Boolean

1.非空字符串为true 空字符串为false

2.非0为true,0 和NaN为false

3.null 和undefined始终为false

4.对象始终为true,只要不为null

 // 2其他类型转Boolean型// 0false  1true// Boolean true/falsevar str2 = "";//空字符串console.log(Boolean(str2));//falsevar str21 = "你好";console.log(Boolean(str21));//truevar str22 = "0";console.log(Boolean(str22));//truevar str23 = "    ";console.log(str23.length);//4console.log(Boolean(str23));//true// 字符串转bool类型 有值为true 没有值为false// 2.数值转Boolean// 0 和NaN为false 其他的都为truevar num = 0;console.log(Boolean(num));//falsevar num = 1;console.log(Boolean(num));//truevar num = 2;console.log(Boolean(num));//truevar num = -1;console.log(Boolean(num));//truevar num = NaN;console.log(Boolean(num));//false// null 和undefined 始终为falseconsole.log(Boolean(null));//falseconsole.log(Boolean(undefined));//falsevar obj = {}console.log(Boolean(obj));//true

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

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

相关文章

网络编程 day 7

1、将.txt表数据导入数据库中 #include <myhead.h>#define ERR_MSG(msg) do{\fprintf(stderr,"__%d__:",__LINE__);\perror(msg);\ }while(0)int main(int argc, const char *argv[]) {//以只读的方式打开dict.txt文件FILE* fd;if((fdfopen("./dict.txt&q…

windows编程之线程同步万字总结(创建线程,互斥对象,互斥事件,信号量,关键段,多线程群聊服务器)

文章目录 创建线程方法一_beginthreadex函数讲解使用示例&#xff1a; 方法二CreateThread函数讲解:使用示例: 互斥对象:创建互斥对象CreateMutex 互斥事件介绍创建或打开一个未命名的互斥事件对象 信号量介绍信号量的相关函数使用示例 关键段相关函数错误使用示例正确使用示例…

Android12之解析/proc/pid进程参数(一百六十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Streamlit项目:乐高风格马赛克设计工坊~打造个性化马赛克图案的平台

文章目录 1 前言2 项目概述2.1 项目背景和目标2.2 功能和特性2.3 技术实现2.4 开发计划2.5 预期成果2.6 应用场景 3 使用指南3.1 源代码使用指南3.2 普通网页用户使用指南3.3 文件保存3.3.1 导出图像文件3.3.2 获取像素RGB数据 3.4 注意事项 4 实现细节4.1 准备工作4.2 编写代码…

你为什么总招不到对的人?

办公室里&#xff0c;技术面试官Arron 和 HR 正对近期的招聘失误进行争执——新招的技术岗试用了几个月&#xff0c;就因能力不足离开了。 HR 不断吐槽岗位画像太模糊&#xff0c;Arron 反问&#xff1a;“不是给了你关键词吗&#xff1f;” HR 气不打一处来&#xff1a;“你…

Spring IOC的理解

总&#xff1a; 控制反转&#xff08;IOC&#xff09;&#xff1a;理论思想&#xff0c;传统java开发模式&#xff0c;对象是由使用者来进行管理&#xff0c;有了spring后&#xff0c;可以交给spring来帮我们进行管理。依赖注入&#xff08;DI&#xff09;&#xff1a;把对应的…

[构建 Vue 组件库] 小尾巴 UI 组件库 —— 横向商品卡片(仿淘宝)

文章归档于&#xff1a;https://www.yuque.com/u27599042/row3c6 组件库地址 npm&#xff1a;https://www.npmjs.com/package/xwb-ui?activeTabreadmegitee&#xff1a;https://gitee.com/tongchaowei/xwb-ui 下载 npm i xwb-ui配置 按需导入 import {组件名 } from xwb-…

解耦只是一个巧合?

本文分享一篇在IJCAI2023看到的文章&#xff1a;Overlooked Implications of the Reconstruction Loss for VAE Disentanglement 首先回顾下VAE&#xff0c;其loss函数有两项&#xff0c;一项是重构误差&#xff0c;另一项是正则项&#xff1a; L r e c ( x , x ^ ) E q ϕ (…

Unity——脚本与导航系统

Unity内置了一个比较完善的导航系统&#xff0c;一般称为Nav Mesh&#xff08;导航网格&#xff09;&#xff0c;用它可以满足大多数游戏中角色自动导航的需求。 一、导航系统相关组件 Unity的导航系统由以下几个部分组成&#xff1a; Nav Mesh。Nav Mesh与具体的场景关联&…

Windows Qt 5.12.10下载与安装

Qt 入门实战教程&#xff08;目录&#xff09; C自学精简教程 目录(必读) 1 Qt下载 qt-opensource-windows-x86-5.12.10.exe 官方离线安装包&#xff1a;Download Source Package Offline Installers | Qt 下载巨慢 只能下载到最新的&#xff1a;https://download.qt.io/a…

JVM | 垃圾回收器(GC)- Java内存管理的守护者

引言 在编程世界中&#xff0c;有效的内存管理是至关重要的。这不仅确保了应用程序的稳定运行&#xff0c;还可以大大提高性能和响应速度。作为世界上最受欢迎的编程语言之一&#xff0c;通过Java虚拟机内部的垃圾回收器组件来自动管理内存&#xff0c;是成为之一的其中一项必…

Speech | 语音处理,分割一段音频(python)

本文主要是关于语音数据在处理过程中的一些脚本文件以及实例&#xff0c;所有代码只需要更改所需处理的文件路径&#xff0c;输出路径等&#xff0c;全部可运行。 目录 所需环境 方法1&#xff1a;将一整段音频按时间批量切成一个一个音频 方法2&#xff1a;将一整段音频按…

C++的类型转换

前言 我们都知道C是兼容C语言的在C语言中存在两种方式的类型转换&#xff0c;分别是隐式类型转换和显示类型转换&#xff08;强制类型转换&#xff09;&#xff0c;但是C觉得C语言的这套东西是够好&#xff0c;所以在兼容C语言的基础上又搞了一套自己的关于类型转换的东西。 目…

2023高教社杯数学建模C题思路代码 - 蔬菜类商品的自动定价与补货决策

# 1 赛题 在生鲜商超中&#xff0c;一般蔬菜类商品的保鲜期都比较短&#xff0c;且品相随销售时间的增加而变差&#xff0c; 大部分品种如当日未售出&#xff0c;隔日就无法再售。因此&#xff0c; 商超通常会根据各商品的历史销售和需 求情况每天进行补货。 由于商超销售的蔬菜…

mysql创建用户

创建用户 创建 -- 创建用户 itcast , localhost只能够在当前主机localhost访问, 密码123456; create user test01localhost identified by 123456;使用命令show databases;命令&#xff0c;只显示一个数据库&#xff0c;因为没有权限 -- 创建用户 test02, 可以在任意主机访问…

Stream API

Stream API执行流程 Stream API(java.util.stream)把真正的函数式编程风格引入到Java中,可以极大地提高程序员生产力&#xff0c;让程序员写出高效、简洁的代码 实际开发中项目中多数数据源都是来自MySQL、Oracle等关系型数据库,还有部分来自MongDB、Redis等非关系型数据库 …

vue3路由跳转params传参接收不到

import { useRouter } from "vue-router";const router useRouter(); // 提现记录 const withdrawalClick (item) > {router.push({ name: "Devwithdrawal", params: { name: 123 } }); };//跳转页面接收参数 import { useRoute } from "vue-rou…

网络是如何进行通信

网络是如何进行通信的 简介 在现代社会中&#xff0c;网络已经成为我们生活中不可或缺的一部分。从上网搜索信息、在线购物到远程工作和社交媒体&#xff0c;我们几乎无时无刻不与网络保持着联系。但是&#xff0c;网络究竟是个什么玩意&#xff0c;它是如何工作的呢&#xf…

Web服务器简介及HTTP协议

一、Web Server&#xff08;网页服务器&#xff09; 一个 Web Server 就是一个服务器软件&#xff08;程序&#xff09;&#xff0c;或者是运行这个服务器软件的硬件&#xff08;计算机&#xff09;。其主要功能是通过 HTTP 协议与客户端&#xff08;通常是浏览器&#xff08…

python可视化模块—快速利用matplot绘制图表

文章目录 一、Matplotlib基本介绍二、两种绘图方式区别&#xff08;plt.*** 和ax.***&#xff09;三、如何使用Matplotlib绘图1、画布—绘画的画板2、配置—更个性化的绘图全局配置局部配置面向对象绘图过程&#xff1a;ax代表子图变量过程式绘图过程 四、常用绘图图形如何选择…