JavaScript | 前端三件套之JavaScript(二)

简介: JavaScript | 前端三件套之JavaScript(二)

3.5、运算符

JavaScript 提供了如下的运算符:(大部分和 Java语言 都是一样的,不同的是 JS 关系运算符中的 == 和 ===)

一元运算符:++,--

算术运算符:+,-,*,/,%

赋值运算符:=,+=,-=…

关系运算符:>,<,>=,<=,!=,==,===…

逻辑运算符:&&,||,!

三元运算符:条件表达式 ? true_value : false_value

3.5.1、==和===

==:

1. 判断类型是否一样,如果不一样,则进行类型转换

2. 再去比较其值

===(js 中的全等于):

1. 判断类型是否一样,如果不一样,直接返回false

2. 再去比较其值

代码:

var age1 = 20;

var age2 = "20";

alert(age1 == age2);// true

alert(age1 === age2);// false

3.5.2、类型转换

在 == 运算符中,发现会进行类型转换。

JavaScript 中的类型转换:

①其他类型转为number

②其他类型转为boolean

3.5.2.1、其他类型转为number

string 转换为 number 类型:

①按照字符串的字面值,转为数字。

②如果字面值不是数字,则转为NaN

将 string 转换为 number 有两种方式:

①使用 + 正号运算符:

var str = +"20";

alert(str + 1) //21

②使用 parseInt() 函数(方法):

var str = "20";

alert(parseInt(str) + 1);

建议使用 parseInt() 函数进行转换

boolean 转换为 number 类型:true 转为1,false转为0

var flag = +false;

alert(flag); // 0

3.5.2.2、其他类型转为boolean

①number 类型转换为boolean:

0和NaN转为false

其他的数字转为true

②string 类型转换为boolean

空字符串转为false

其他的字符串转为true

③null类型转换为boolean:false

④undefined 转换为boolean:false

3.6、流程控制语句

JavaScript 中提供了和 Java 一样的流程控制语句,如下

if

switch

for

while

dowhile

3.7、函数

函数(就是Java中的方法)是被设计为执行特定任务的代码块;

JavaScript 函数通过 function 关键词进行定义。

3.7.1、定义格式

函数定义格式有两种:

方式一:

方式二:

3.7.2、函数调用

4、常用对象

JavaScript 提供了很多对象供使用者来使用。

这些对象总共分类三类:

基本对象

BOM对象(Browser Object Model)

DOM对象(Document Object Model)

4.1、基本对象

4.1.1、Arrary对象

JavaScript Array对象用于定义数组。

数组的定义格式有两种:

方式一:var 变量名 = new Array(元素列表);

方式二:var 变量名 = [元素列表];

注意:Java中的数组静态初始化用的是{}定义,而JavaScript中使用的是[]定义

元素访问:

访问数组中的元素和 Java 语言的一样,格式如下:arr[索引] = 值;

4.1.1.1、特点

JavaScript 中的数组相当于 Java 中集合。数组的长度是可以变化的,而 JavaScript 是弱类型,所以可以存储任意的类型的数据。

例如如下代码:

显示效果:

可以看到,因为可以任意边长,即直接赋值第十位的数据,但是前面并没有数据,所以前面的数据会自动转换为空值。

4.1.1.2、属性

Array 对象提供了很多属性,如下图是官方文档截取的

有了length属性,就可以动态获取数组的长度。

4.1.1.3、方法

Array 对象同样也提供了很多方法,如下图是官方文档截取的

下面着重说一下push函数和splice函数:

push 函数:给数组添加元素,也就是在数组的末尾添加元素。参数表示要添加的元素

splice 函数:删除元素

参数1:索引。表示从哪个索引位置删除

参数2:个数。表示删除几个元素

目录
打赏
0
0
0
0
1
分享
相关文章
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
springboot解决js前端跨域问题,javascript跨域问题解决
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
77 5
JavaScript前端路由的实现原理及其在单页应用中的重要性,涵盖前端路由概念、基本原理、常见实现方式
本文深入解析了JavaScript前端路由的实现原理及其在单页应用中的重要性,涵盖前端路由概念、基本原理、常见实现方式(Hash路由和History路由)、优点及挑战,并通过实际案例分析,帮助开发者更好地理解和应用这一关键技术,提升用户体验。
119 1
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
68 4
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
229 2
揭秘!前端大牛们如何巧妙利用JavaScript,打造智能交互体验!
【10月更文挑战第30天】前端开发领域充满了无限可能与创意,JavaScript作为核心语言,凭借强大的功能和灵活性,成为打造智能交互体验的重要工具。本文介绍前端大牛如何利用JavaScript实现平滑滚动、复杂动画、实时数据更新和智能表单验证等效果,展示了JavaScript的多样性和强大能力。
86 4
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
426 1
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
87 1
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第7天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤。包括项目准备、安装 `javascript-obfuscator`、配置 Vite 构建以应用混淆,以及最终构建项目进行混淆。通过这些步骤,可以有效提升前端代码的安全性,防止被他人轻易分析和盗用。
581 0

热门文章

最新文章

  • 1
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    37
  • 2
    【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    12
  • 3
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    104
  • 4
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
    39
  • 5
    抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
    42
  • 6
    【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤
    97
  • 7
    前端解决axios请求的跨域问题【2步完成】
    23
  • 8
    【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
    49
  • 9
    【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    22
  • 10
    docker安装nginx,前端项目运行
    64
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等