网站首页 > 技术文章 正文
JavaScript 诞生于1995 年。当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作。在JavaScript 问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,是否输入了无效的值。网景
Netscape
最先提出的 , 早期用于解决客户端表单输入验证,随着网络发展,已经逐步延伸到互联网各个领域.
网页的各种交互 \ 基于js语言开发的后端 \ 物联网 \ 移动设备...
截止目前: JavaScript 已经成为客户端脚本的标志性语言 ,在JavaScript家族中,目前两大成员:? 1.浏览器端JavaScript = > window
负责 DOM + BOM 等浏览器的交互
? 2.服务器端JavaScript = > nodejs
负责服务器端程序 定义为一门后台语言,类似java \ php 等
JavaScript组成:
浏览器端JavaScript: ECMA标准语法 + DOM + BOM
服务器端JavaScript: ECMA标准语法 + 各种服务端程序所需要的模块
开发服务器,操作数据库,文件系统等
ECMAScript
JavaScript的标准语法
:
ES5 /
存在兼容问题:ES6 / ES7 / ES8 / ES9
ECMA语法约定:
1. 变量 :(变量是个筐 ,啥都往里装 =>存储数据的一块内存空间)
1.先声明,后赋值
2.同时声明赋值
3.不声明赋值
不建议使用,在严格模式下 会报错.
2.数据类型
1.基础类型
值类型
? a
undefined
? b
null
null与undefined 到底有什么区别?
? c
boolean
? d
number
? f
string
2.对象类型
引用类型
? a
object
使用typeof 检测时 对象 和 数组 都是 object
? b
function
检测数据类型有哪几种方式 ??
3.运算符
1.算术运算符
2.赋值运算符
3.比较运算符
4.逻辑运算符
5.位运算符
4.注释
单行: //
多行: /**/
5.程序结构
1.顺序结构
2.选择结构
3.循环结构
6.数组
1.定义数组:
1.先声明 ,后赋值
var arr = new Array
5
;
arr[0] = 20;
2.直接声明赋值
var arr = new Array
10,20,30
;
3.字面量方式创建
var arr = [10,20,30];
数组通过下标访问 , 数组下标从0开始.
数组的属性:
? length 返回数组的长度
数组的常用方法:
罗列常用的方法 ,及使用案例.....
arguments 是一个对应于传递给函数的参数的类数组对象
伪数组对象
7.函数:
BOM操作:
浏览器厂商提供的功能,用于操作浏览器窗口
history
location
screen
navgatior
DOM操作
w3c DOM操作
网页文档 - > document对象
查
增
删
改
DOM事件
? 事件对象
? 事件冒泡
? 事件捕获
严格模式:
在ES5版本及以前JavaScript语法非常随意, 容易导致一些项目维护和拍错非常困难.使用严格模式
下一代JS
规避一些没有必要的异常奇葩问题.消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;消除代码运行的一些不安全之处,保证代码运行的安全;提高编译器效率,增加运行速度;为未来新版本的Javascript做好铺垫。在代码块首行使用 : "use strict" ; 声明严格模式 , 也可以在函数内部首行声明罗列 各项严格模式规则...收起
猜你喜欢
- 2024-10-23 ECMAScript 6的历史和未来前景展望
- 2024-10-23 JavaScript 引擎基本原理:Shapes 和 Inline Caches
- 2024-10-23 Vue进阶(四十二):var、let、const三者的区别
- 2024-10-23 什么是ESLint?(什么是血糖)
- 2024-10-23 前端三剑客:HTML、CSS 和 JavaScript
- 2024-10-23 JavaScript 后端开发者必须跨的 10 道门槛
- 2024-10-23 ECMAScript 2023 新特性解读,附代码示例
- 2024-10-23 带你走进JavaScript世界系列——window对象和全局作用域
- 2024-10-23 前端基础:ECMAScript 6(前端基础笔试题及答案)
- 2024-10-23 小白初识JavaScript的基础知识与相关术语
- 1507℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 505℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 485℃MySQL service启动脚本浅析(r12笔记第59天)
- 465℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 462℃启用MySQL查询缓存(mysql8.0查询缓存)
- 443℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 422℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 418℃MySQL server PID file could not be found!失败
- 最近发表
-
- netty系列之:搭建HTTP上传文件服务器
- 让deepseek教我将deepseek接入word
- 前端大文件分片上传断点续传(前端大文件分片上传断点续传怎么操作)
- POST 为什么会发送两次请求?(post+为什么会发送两次请求?怎么回答)
- Jmeter之HTTP请求与响应(jmeter运行http请求没反应)
- WAF-Bypass之SQL注入绕过思路总结
- 用户疯狂点击上传按钮,如何确保只有一个上传任务在执行?
- 二 计算机网络 前端学习 物理层 链路层 网络层 传输层 应用层 HTTP
- HTTP请求的完全过程(http请求的基本过程)
- dart系列之:浏览器中的舞者,用dart发送HTTP请求
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)