千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:哈尔滨千锋IT培训  >  技术干货  >  JS有哪些语法?

JS有哪些语法?

来源:千锋教育
发布人:xqq
时间:2023-10-21 03:00:19

一、变量声明

JS中使用var、let和const关键字声明变量。代码如下:

var name = "JavaScript";let age = 20;const PI = 3.14;

二、数据类型

JS有以下几种基本数据类型:

基本数据类型:字符串类型(string)、数值类型(number)、布尔类型(boolean)、undefined、null。引用数据类型:对象(object)、函数(function)、数组(array)。字符串类型:必须要由成对的单引号或双引号包起来。内容可以是任意文本,只要不包含包围字符串的引号就可以。如果一定要包含,则用反斜杠转义。数值类型:可以带小数点,也可以不带小数点。布尔类型:只有两个值:true,false。undefined:表示声明的变量没有值。null:用来表示尚未存在的对象。

代码如下:

let name = "JavaScript";let age = 20;let isStudent = true;let obj = {  prop1: "value1",  prop2: "value2"};let empty = null;let notDefined;

三、运算符

JS支持传统的算术运算符,例如加减乘除和取余数。还有比较运算符(==、!=、>、<、>=和<=),逻辑运算符(&&、||、!)等。

算术运算符:+、-、*、/、%(取余)、++(递增)、–(递减)。代码如下:

alert( 10 / 4 );   //2.5alert( 10 % 4 );   //2// 取余的结果正负取决于 % 前面的值(面试会问)var  i = 3;i++;alert( 'i =' + i );  // i=4var m = 3,n;n = m++;alert('m='+m+',n='+n);    // m= 4,n=3var m = 3, n;n = ++m;alert('m='+m+',n='+n);    // m= 4,n=4var x = 4,y = 5;var z = x++ + y++;alert('x='+ x );    // 5alert('y='+ y );   // 6alert('z='+ z );   // 9var a = 3;                                                      var b = a++ + ++a + a++;alert('a='+a +',b='+b );  // a=6,b=13// ++在后面,先取变量的值,把取到的值赋给左边的变量,然后变量自己再增1// ++在前面,变量先加1,然后再赋值

赋值运算符:=、+=、-=、*=、/=、%=。代码如下:

var  a += 5;    // a = a+5var  a *= 5;   // a = a * 5

+运算符:可用于把字符串变量连接起来(求和,拼接)。代码如下:

var a = 6;var s= 'hello';var b = true;alert( a + s + b );  // 6 hello truealert( s + a + a);   // hello66alert( a + a + s );  // 12hello

逻辑运算符:&&、||、!。代码如下:

var h5 = 56, js = 67;var r = h5 >= 60 && js <= 60;alert( r ); // false var r2 = h5 >= 60 || js >=60;alert( r2 ); // true var r3 = !(h5 > 60);alert(r3); // true var a = 5, b = 6;alert( a < 1 && ++b > 5 ); // falsealert(b); // 5  (&&是短路运算符,全真才为真左边的a < 1 已经是false,所以他不去计算右边了,所以b = 6) var a = 1 && 2+2;alert(a); // 4 (因为左边为真,所以会继续去看右边) var a = 0 && 2 + 2;alert(a); // 0 (因为0转布尔值为false,左边为假,所以不会去看右边) var a = 5,b = 6;alert( a || ++b); // truealert( b ); // 6 (左边的为true,不再去计算右边) alert(3 && 6);  //6alert(0 && 6);  //0// 如果左右两边都为数值,0相当于false,非0相当于true alert('hello' && 'world');  //worldalert('' && 'word');   //””// 空字符串相等于false,非空字符串相当于true

四、函数

JS中函数是一种可以重复使用的代码块,用于执行特定的任务。我们可以使用function关键字来定义函数,函数可以有参数和返回值。代码如下:

function add(a, b) {  return a + b;}

五、强制转换

强制转换主要指使用Number、String和Boolean三个构造函数,手动将各种类型的值,转换成数字、字符串或者布尔值。

1、Number强制转换

参数为原始类型值的转换规则为原始类型的值主要是字符串、布尔值、undefined和null,它们都能被Number转成数值或NaN。NaN:not a number,当数学计算得不到数字结果时,该值就是NaN。isNaN:判断变量是否为NaN。代码如下:

// 数值:转换后还是原来的值var num = Number(324);alert(typeof num + num);  // number 324// 数值:转换后还是原来的值var num = Number(324);alert(typeof num + num);  //number 324// 字符串:如果可以被解析为数值,则转换为相应的数值Number('324') // 324var num =Number('324');alert(typeof num + num);  //number 324// 字符串:如果不可以被解析为数值,返回NaNvar num =Number('324abc');alert(typeof num + num);  //number NaN// 空字符串转为0var num =Number('');alert(typeof num + num);  //number 0// 布尔值:true 转成1,false 转成0var num = Number(true);alert(typeof num + num);  //number 1var num = Number(false);alert(typeof num + num);  //number 0// undefined:转成 NaNNumber(undefined) // NaNvar num =Number(undefined );alert(typeof num + num);  //number NaN// null:转成0 var num =Number(null);alert(typeof num + num);  //number 0

Number函数将字符串转为数值,要比parseInt函数严格很多。基本上,只要有一个字符无法转成数值,整个字符串就会被转为NaN。

参数为对象的转换规则为Number方法的参数是对象时,将返回NaN。代码如下:

Number({a: 1}) // NaNNumber([1, 2, 3]) // NaN var obj = Number ({});alert(typeof obj + obj); // number NaNvar num = Number([]);alert(typeof num + num); //number 0

实际上,Number背后的真正规则复杂得多,内部处理步骤如下:

调用对象自身的valueOf方法。如果返回原始类型的值,则直接对该值使用Number函数,不再进行后续步骤。如果valueOf方法返回的还是对象,则改为调用对象自身的toString方法。如果返回原始类型的值,则对该值使用Number函数,不再进行后续步骤。如果toString方法返回的是对象,就报错。

2、String强制转换

参数为原始类型值的转换规则为数值转为相应的字符串;字符串转换后还是原来的值;布尔值true转为“true”,false转为“false”;undefined转为“undefined”;null转为“null”。代码如下:

var str = String(123.234);alert(typeof(str)+ str); // string 123.234var str = String('he');alert(typeof(str)+ str); // string hevar str = String(true);alert(typeof(str)+ str); // string truevar str = String(false);alert(typeof(str)+ str); // string falsevar str = String(undefined);alert(typeof(str)+ str); // string undefinedvar str = String(unll);alert(typeof(str)+ str); // string null

参数为对象的转换规则为String方法的参数如果是对象,返回一个类型字符串;如果是数组,返回该数组的字符串形式。代码如下:

var str = String({});alert(typeof(str)+ str); // string [object Object]var str = String([1,3]);alert(typeof (str)+ str); // string 1,3

String内部处理步骤如下:

先调用对象自身的toString方法。如果返回原始类型的值,则对该值使用String函数,不再进行以下步骤。如果toString方法返回的是对象,再调用valueOf方法。如果返回原始类型的值,则对该值使用String函数,不再进行以下步骤。如果valueOf方法返回的是对象,就报错。

3、Boolean强制转换

参数为原始类型值的转换规则为除了undefined、null、-0、0或+0、NaN、’ ‘(空字符串)这六个值的转换结果为false,其他的值全部为true。代码如下:

var num = Boolean('');alert(typeof(num) + unm); // boolean false

参数为对象的转换规则为所有对象(包括空对象)的转换结果都是true。代码如下:

var num = Boolean([]);alert(typeof(num) + unm); // boolean true

六、条件语句

JS中使用if语句来执行条件语句,可以根据条件的真假执行不同的代码块。代码如下:

let age = 20;if (age >= 18) {  console.log("成年人");} else {  console.log("未成年人");}

七、循环语句

JS中使用for和while循环语句来重复执行代码块。代码如下:

for (let i = 0; i < 10; i++) {  console.log(i);}let i = 0;while(i < 10) {  console.log(i);  i++;}

延伸阅读1:JS简介

JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

python函数中的参数有哪些?

2023-11-14

python中pygal模块如何使用?

2023-11-14

Python描述符中有哪三种方法?

2023-11-14

最新文章NEW

如何使用python any()判断多元素?

2023-11-14

python中doctest库是什么?

2023-11-14

python模块引入的三种方式

2023-11-14

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>