【JavaScript】 基础语法

JavaScript

运算符

参考资料:JavaScript中运算符的优先级

运算符(优先级从高到低)描述
[] ()字段访问、数组下标、函数调用以及表达式分组
++ -- - ~ ! delete new typeof void一元运算符、返回数据类型、对象创建、未定义值
* / %乘法、除法、取模
+ - +加法、减法、字符串连接
<< >> >>>移位
< <= > >= instanceof小于、小于等于、大于、大于等于、instanceof
== != === !==等于、不等于、严格相等、非严格相等
&按位与
^按位异或
``
&&逻辑与
`
?:条件
= oP=赋值、运算赋值
,多重求值
&& 和 ||

参考资料:JavaScript中的&&(逻辑与)和||(逻辑或)

console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false

console.log( 1 && 2); // 2 //前面true输出后面 
console.log( 1 && 0); // 0
console.log( 0 && 1); // 0 //前面false输出前面
console.log( 0 && ''); // 0
console.log(true || true); // true
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false

console.log( 1 || 2); // 1 //前面true输出前面
console.log(1 || 0); // 1
console.log(0 || 1); // 1 //前面false输出后面
console.log('' || 0); // 0
//"&&" 的优先级要高于 "||"
console.log(1 || 2 && 3);  // 1
== 和 ===

参考资料:JavaScript中的=====
= 赋值,== 相等,=== 恒等

  • “==” 的比较规则
    • 数据类型是否相同
    • 如果相同,则比较两个数是否相等
    • 如果不同,则先将两个数转换为相同数据类型,再进行比较
  • “===”的比较规则
    • 数据类型是否相同
    • 若不同,直接返回false
    • 若相同,则比较二者是否相等

try 和 catch

try和catch的用法
执行规则:首先执行try中的代码 如果抛出异常会由catch去捕获并执行 如果没有发生异常 catch去捕获会被忽略掉 但是不管有没有异常最后都会执行。

try 语句使你能够测试代码块中的错误。
catch 语句允许你处理错误。
throw 语句允许你创建自定义错误。(抛出错误)
finally 使你能够执行代码,在 try 和 catch 之后,无论结果如何。

=>

参考资料:js中=>的作用

(x) => x + 6

相当于

function(x){
    return x + 6;
}

array 数组

console

参考资料:

console.log("写入字节数 : ",  len); // 字符串 数字
console.log("写入字节数 : "+  len); // 字符串 字符串

在这里插入图片描述

JSON

参考资料:JavaScript JSON

JSON 是用于存储和传输数据的格式。通常用于服务端向网页传递数据 。
JSON 英文全称 JavaScript Object Notation,是一种轻量级的数据交换格式。

//例子
//对象 "sites" 是一个数组,包含了三个对象
{"sites":[
    {"name":"Runoob", "url":"www.runoob.com"}, 
    {"name":"Google", "url":"www.google.com"},
    {"name":"Taobao", "url":"www.taobao.com"}
]}
  • 语法规则
    • 数据为 键/值 对。
    • 数据由逗号分隔。
    • 大括号保存对象
    • 方括号保存数组
JSON.parse()
  • JSON.parse(text[, reviver]) 用于将一个 JSON 字符串转换为对象。
    • 参数:
      • text:必需, 一个有效的 JSON 字符串
      • reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
    • 返回值:
      • 返回给定 JSON 字符串转换后的对象
//例子
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<h2>JSON 字符串创建对象</h2>
<p id="demo"></p>
<script>
var text = '{ "sites" : [' +
	'{ "name":"Runoob" , "url":"www.runoob.com" },' +
	'{ "name":"Google" , "url":"www.google.com" },' +
	'{ "name":"Taobao" , "url":"www.taobao.com" } ]}';
	
obj = JSON.parse(text);
document.getElementById("demo").innerHTML = obj.sites[1].name + " " + obj.sites[1].url;
</script>

</body>
//结果JSON 字符串创建对象
Google www.google.com
JSON.stringify()
  • JSON.stringify(value[, replacer[, space]]) 用于将 JavaScript 值转换为 JSON 字符串。
    • 参数:
      • value:必需, 要转换的 JavaScript 值(通常为对象或数组)。
      • replacer:可选。用于转换结果的函数或数组。
        • 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。
        • 如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:“”。
        • 如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。
      • space:可选,文本添加缩进、空格和换行符,
        • 如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,
        • 如果 space 大于 10,则文本缩进 10 个空格。space 也可以使用非数字,如:\t。
    • 返回值:返回包含 JSON 文本的字符串。
//例子
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<p id="demo"></p>
<script>
var str = {"name":"菜鸟教程", "site":"http://www.runoob.com"}
str_pretty1 = JSON.stringify(str)
document.write( "只有一个参数情况:" );
document.write( "<br>" );
document.write("<pre>" + str_pretty1 + "</pre>" );
document.write( "<br>" );
str_pretty2 = JSON.stringify(str, null, 4) //使用四个空格缩进
document.write( "使用参数情况:" );
document.write( "<br>" );
document.write("<pre>" + str_pretty2 + "</pre>" ); // pre 用于格式化输出
</script>

</body>
</html>
//结果
只有一个参数情况:
{"name":"菜鸟教程","site":"http://www.runoob.com"}

使用参数情况:
{
    "name": "菜鸟教程",
    "site": "http://www.runoob.com"
}
JSON 与 JS 对象的关系

很多人搞不清楚 JSON 和 JS 对象的关系,甚至连谁是谁都不清楚。
其实,可以这么理解:JSON 是 JS 对象的字符串表示法。它使用文本表示一个 JS 对象的信息,(JSON)本质是一个字符串。

var obj = {a: 'Hello', b: 'World'}; //这是一个js对象,注意js对象的键名也是可以使用引号包裹的,这里的键名就不用引号包含
var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串

JSON(格式字符串) 和 JS 对象(也可以叫JSON对象 或 JSON 格式的对象)互转(JSON.parse 和 JSON.stringify)。

要实现从JSON字符串转换为JS对象,使用 JSON.parse() 方法:

var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}  一个对象

要实现从JS对象转换为JSON字符串,使用 JSON.stringify() 方法:

var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'  一个JSON格式的字符串

说句不严谨的话:JSON.parse() 就是字符串转 js 对象, JSON.stringify()就是 js 对象转字符串,它们前提是要 json 格式才有意义。

异步编程

参考资料:JavaScript 异步编程

异步(Asynchronous, async) 、同步(Synchronous, sync)
同步按你的代码顺序执行,异步不按照代码顺序执行,异步的执行效率更高。
异步就是从主线程发射一个子线程来完成任务。
子线程有一个局限:一旦发射了以后就会与主线程失去同步,
我们无法确定它的结束,如果结束之后需要处理一些事情,比如处理来自服务器的信息,我们是无法将它合并到主线程中去的。
JavaScript 中的异步操作函数往往通过回调函数来实现异步任务的结果处理。

//function()就是一个回调函数
//setTimeout()函数执行后,产生一个子线程在3秒之后执行function()函数
//同时主线程没有停止,且先加载出来
setTimeout(function () {
    document.getElementById("demo1").innerHTML="RUNOOB-1!";
}, 3000);
document.getElementById("demo2").innerHTML="RUNOOB-2!";
console.log("2");

//结果
RUNOOB-1!  //后出现,相当于加载图片视频
RUNOOB-2!  //先出现
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript基础语法包括数据类型、运算符、选择结构和循环结构。在JavaScript中,所有的类型都是用var关键字来修饰,但实际中还是有类型区分的。常见的数据类型包括字符串、数字、布尔值、对象和数组等。 运算符用于进行数学运算和逻辑判断。常见的运算符包括加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)、取余运算符(%)等。逻辑运算符包括与运算符(&&)、或运算符(||)、非运算符(!)等。 选择结构用于根据条件执行不同的代码块。常见的选择结构有if语句、switch语句。if语句根据条件是否为真来执行相应的代码块,switch语句根据表达式的值来选择执行的代码块。 循环结构用于重复执行一段代码。常见的循环结构有for循环、while循环和do-while循环。for循环在指定条件为真的情况下重复执行代码块,while循环在条件为真的情况下重复执行代码块,do-while循环先执行一次代码块,然后在条件为真的情况下重复执行代码块。 举个例子,下面是一段JavaScript代码: ```javascript <script> var a = 10; var b = 5; console.log(a > b && b > a); console.log(a > b || b > a); </script> ``` 在这段代码中,我们定义了两个变量a和b,并使用console.log()方法分别输出了两个逻辑表达式的结果。第一行代码中,a > b && b > a的结果为false,因为a不大于b且b不大于a。第二行代码中,a > b || b > a的结果为true,因为a不大于b或b不大于a至少有一个条件成立。 这就是JavaScript基础语法的一部分,包括数据类型、运算符、选择结构和循环结构。通过掌握这些基础知识,我们可以开始编写JavaScript程序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【JavaScript】基本语法大全](https://blog.csdn.net/weixin_64916311/article/details/129136028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值