当前位置: 首页 > news >正文

SAP Fiori开发中的JavaScript基础知识9 - 代码注释,严格模式,JSON

1 背景

本文将介绍JavaScript编程中的三个小知识点:也即代码注释,严格模式,JSON文件。

2 代码注释

JavaScript的代码注释方式如下:

// Single line comment/*
Multi line comment
*/

3 严格模式

JavaScript的"strict mode"是一种可选的严格模式,它可以帮助你捕获可能的错误和不安全的操作。

在严格模式下,JavaScript会对某些可能导致错误的行为进行更严格的检查,并在发现这些行为时抛出错误。例如,严格模式不允许使用未声明的变量,或删除变量、函数或函数参数。

要启用严格模式,只需在你的脚本或函数的顶部添加以下行:

“use strict”;

以下是一个使用严格模式的例子:

"use strict";function doSomething() {undeclaredVariable = "This will throw an error in strict mode";
}doSomething();  // ReferenceError: undeclaredVariable is not defined

在上述代码中,由于我们在严格模式下尝试使用未声明的变量,所以JavaScript会抛出一个错误。

使用严格模式可以帮助你编写更安全、更清晰的代码,并避免一些常见的JavaScript陷阱。然而,严格模式可能会导致一些旧的代码无法正常工作,因此在使用严格模式时需要谨慎。

4 JSON文件

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯。这些特性使JSON成为理想的数据交换语言。

JSON是一种 键值对 形式的数据表示,类似于 JavaScript中的对象 。例如:

{
“name”: “Alice”,
“age”: 25,
“isStudent”: true
}

在JavaScript中,你可以使用 JSON.parse() 方法将JSON字符串转换为JavaScript对象,使用 JSON.stringify() 方法将JavaScript对象转换为JSON字符串。

例如:


let jsonString = '{"name":"Alice","age":25,"isStudent":true}';// 将JSON字符串转换为JavaScript对象
let obj = JSON.parse(jsonString);
console.log(obj.name);  // 输出 "Alice"// 将JavaScript对象转换为JSON字符串
let str = JSON.stringify(obj);
console.log(str);  // 输出 '{"name":"Alice","age":25,"isStudent":true}'

在实际编程中,JSON常用于存储和交换数据。例如,你可能会从服务器接收JSON格式的数据,然后在JavaScript中解析这些数据并在网页上显示。或者,你可能需要将用户在表单中输入的数据转换为JSON格式,然后发送到服务器。

下图为SAP BAS中启动项目的JSON文件示例,在图中,我标明了其与JavaScript中object的对应关系。
在这里插入图片描述

5 小结

本文将介绍JavaScript编程中的代码注释,严格模式,JSON文件,并给出了示例代码。希望对你有帮助!

相关文章:

  • Adobe Illustrator 2023 for Mac/Win:创意无限,设计无界
  • 【Qt】:坐标
  • 使用Docker Compose一键部署前后端分离项目(图文保姆级教程)
  • 基于Spring Boot的在线学习系统的设计与实现
  • 虚幻引擎资源加密方案解析
  • vue3+threejs新手从零开发卡牌游戏(十四):调整卡组位置,添加玩家生命值HP和法力值Mana信息
  • 在项目中缓存如何优化?SpringCache接口返回值的缓存【CachePut、CacheEvict、Cacheable】
  • 【Java八股面试系列】中间件-Redis
  • android 13 相册和拍照问题
  • css简单动画实现
  • 记录关于智能家居的路程的一个bug___Segmentation fault(段错误)
  • 基于springboot实现网页时装购物系统项目【项目源码+论文说明】
  • 深度学习pytorch——卷积神经网络(持续更新)
  • 安卓调试桥ADB
  • Godot 学习笔记(5):国际化多语言翻译,包含常用10种语言机翻!
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【5+】跨webview多页面 触发事件(二)
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 11111111
  • Computed property XXX was assigned to but it has no setter
  • HTML5新特性总结
  • laravel with 查询列表限制条数
  • Odoo domain写法及运用
  • 阿里云前端周刊 - 第 26 期
  • 对JS继承的一点思考
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 十年未变!安全,谁之责?(下)
  • 使用 @font-face
  • 网络应用优化——时延与带宽
  • 我是如何设计 Upload 上传组件的
  • 一道面试题引发的“血案”
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 【干货分享】dos命令大全
  • gunicorn工作原理
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​插件化DPI在商用WIFI中的价值
  • ​水经微图Web1.5.0版即将上线
  • #{}和${}的区别是什么 -- java面试
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #pragma data_seg 共享数据区(转)
  • (2)(2.10) LTM telemetry
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (安卓)跳转应用市场APP详情页的方式
  • (笔试题)分解质因式
  • (十八)三元表达式和列表解析
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)shell调试方法
  • (转载)PyTorch代码规范最佳实践和样式指南
  • **CI中自动类加载的用法总结
  • *上位机的定义
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞