str.toString()

可以把字符串、数值、布尔值、对象转为字符串

String(str)

任何数值强制转换为字符串类型

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var num=123;
console.log(typeof num.toString());//string
console.log(typeof String(num));//string
</script>
</body>
</html>

其他类型转布尔值

1、数值型,除了0,其余都是转为true

2、字符串型,除了""空字符串,其余都是转为true

3、null 和 undefined 转为false

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var num;
console.log(Boolean(num));//false
</script>
</body>
</html>

在进行算数运算时,浏览器会尝试隐式转换字符串

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var num1=1;
var num2="30";
console.log(num1+num2);//130 此处+为字符串拼接
console.log(typeof(num1+num2));//string
console.log(num1*num2);//30
console.log(typeof(num1*num2));//number
</script>
</body>
</html>

++num 先递增,再运算

num++ 先运算,再递增

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var num1=2;
var num2=3;
var num3=++num1+num2++;
console.log(num1);//3
console.log(num2);//4
console.log(num3);//6
</script>
</body>
</html>

== 和 ===

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
console.log(null==undefined);//true undefined派生自null
console.log(null===undefined);//false 是两种不同的基本类型
</script>
</body>
</html>

三元运算符可以简化部分if判断的语句

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var score=85;
var result=score>60?'及格':'不及格';
console.log(result);//及格
</script>
</body>
</html>

&&

如果都是布尔值,则所有布尔值都为true时,返回true;有一个为false则返回false

如果不都是布尔值,则:

如果第一个隐式转换后是true,则返回第二个值;如果第二个也隐式转换为true,则返回第三个;以此类推

如果第一个隐式转换后是false,则返回第一个值

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script> console.log(15 && 'hello~');//hello~
console.log(0 && 'hello~');//0
console.log(25 && 'str' && null);//null
</script>
</body>
</html>

||

如果都是布尔值,有一个为true,则返回true

全部都是false,则返回false;

如果不都是布尔值,则第一个数值隐式转换为true,就返回第一个数值;否则依次往后

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script> console.log(15 || 'hello~' || NaN);//15
console.log(0 || undefined);//undefined
console.log('' || 'str' || null);//str
</script>
</body>
</html>

! 取反

!! 取反再取反

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script> console.log(!null);//true
console.log(!!null);//false
</script>
</body>
</html>

JavaScript的语法、数据类型、基本算数和逻辑运算操作的更多相关文章

  1. JavaScript 基本语法 -- 数据类型 & 变量

    JavaScript都有哪些数据类型呢? 在JavaScript里面,数据类型分为两类:原始类型(primitive type)和对象类型(object type) 1. 原始类型(我的理解,不可分割 ...

  2. javascript基础语法备忘录-变量和数据类型

    //javascript基础语法备忘录-变量和数据类型 // 定义变量使用var关键字 后面跟变量名,不要使用eval 和arguments为变量名 var message = "hi&qu ...

  3. Javascript用途,语法特点,难点,调试工具,引入方式,命名规范,变量声明及赋值,数据类型,运算符

    JavaScript用来干什么 数据的验证 将动态的内容写入到网页当中(ajax) 对事件做出相应 读写html当中的内容 检测浏览器 创建cookies 模拟动画 语法特点 基于对象和事件驱动的松散 ...

  4. JavaScript 基础语法

    1 谈谈 JavaScript JavaScript,通常会简称为'JS', 是一种浏览器脚本语言 1.1 JavaScript 编程语言特点 JavaScript是一种脚本编程语言 JavaScri ...

  5. 二、JavaScript的语法

    目录: 1.变量:存储数据的容器 2.数据类型 3.string数据类型 4.number数据类型 5.boolean数据类型 6.数据类型的隐式转换 6.数据类型转换函数 7.特殊类型 8.算术运算 ...

  6. JavaScript---js语法,数据类型及方法, 数组及方法,JSON对象及方法,日期Date及方法,正则及方法,数据类型转换,运算符, 控制流程(三元运算),函数(匿名函数,自调用函数)

    day46 一丶javascript介绍 JavaScript的基础分为三个       1.ECMAScript:JavaScript的语法标准.包括变量,表达式,运算符,函数,if语句,for语句 ...

  7. JavaScript基本语法(二)

    上篇博文写到JavaScript的数据类型.JavaScript包括了字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未 ...

  8. JavaScript基本语法(一)

    前段时间学习了HTML和CSS,也实战了一些结构较简单的项目.在还没运用到JS的知识时,做出来的效果总觉得少了些什么.虽然总体布局与一些基本的特效,也能用HTML+CSS就能完成.但如今开始进入Jav ...

  9. javascript运算符语法概述

    × 目录 [1]个数 [2]优先级 [3]结合性[4]类型[5]规则表 前面的话 javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少.运算符始 ...

随机推荐

  1. MySQL8.0 MIC高可用集群搭建

    mysql8.0带来的新特性,结合MySQLshell,不需要第三方中间件,自动构建高可用集群. mysql8.0作为一款新产品,其内置的mysq-innodb-cluster(MIC)高可用集群的技 ...

  2. try catch finally的理解

    定义以及用法: try/catch/finally 语句用于处理代码中可能出现的错误信息. 错误可能是语法错误,通常是程序员造成的编码错误或错别字.也可能是拼写错误或语言中缺少的功能(可能由于浏览器差 ...

  3. 办公环境下k8s网络互通方案

    在 kubernetes 的网络模型中,基于官方默认的 CNI 网络插件 Flannel,这种 Overlay Network(覆盖网络)可以轻松的实现 pod 间网络的互通.当我们把基于 sprin ...

  4. POJ_3450_KMP

    http://poj.org/problem?id=3450 直接暴力枚举第一行的每一个字串,在下面的字符串中查找就行了,注意不符合就及时break. 然后试了一下strstr,发现效率是KMP的3- ...

  5. Android Studio 学习笔记(二):布局简介和xmlns说明

    初学Android Studio,是在b站看的教程视频,这里的笔记也是以其为基础的,个人强烈安利: [天哥]Android开发视频教程最新版 Android Studio开发 Android 布局简介 ...

  6. throw throws区别

    1.throws是在方法上对一个方法进行声明,而不进行处理,向上传,谁调用谁处理: 格式: 权限修饰符 返回值类型 方法名(参数列表) throws Exception1,Exception2...{ ...

  7. java8种基本数据类型

  8. JAVA体系结构简单介绍

    JAVA 体系结构包括四个独立但相关的技术: java程序设计语言 java class 文件格式 JAVA应用编程接口(API) JAVA虚拟机(JVM) 当编写运行一个java程序时,就同时体验了 ...

  9. 从底层入手,解析字节码增强和Btrace应用

    这篇文章聊下字节码和相关的应用. 1.机器码和字节码 机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据. 通常意义上来 ...

  10. nginx单个ip访问频率限制

    一.限制所有单个ip的访问频率 1.http中的配置 http { #$limit_conn_zone:限制并发连接数 limit_conn_zone $binary_remote_addr zone ...