【粗糙版】javascript的变量、数据类型、运算符、流程结构
本文内容:
- javascript的变量
- javascript的数据类型
- javascript的运算符
- javascript的流程结构
首发日期:2018-05-09
javascript的变量
创建变量:
全局变量:全局变量是在js代码的各个地方都能调用的变量
- 【不在{}内时】var 变量名 = 值;
- 【不论在不在{}内】 变量名 = 值;
局部变量:局部变量是仅仅在函数体内生效的变量
- 【在{}内】var 变量名 = 值;
- 【函数的参数变量也是一种局部变量】
作用域:
- 函数体内,同名的变量,局部变量优先级高于全局变量
- 局部变量在函数外无法调用;
- 嵌套函数中,外层函数无法调用内层函数的局部变量,内存函数可以调用外层函数的局部变量
补充:
- 变量的作用域是一个大坑,还有什么作用域链问题、生命周期问题【比如,函数名跟某一个变量同名时的优先级也是一个不一般的问题】。使用要注意。由于这里是一个简单的记录,所以不记录那么复杂的东西。
javascript的数据类型
- javascript是动态类型的语言,它统一使用var来声明每一个对象,每一个对象的数据决定它是一个什么样的数据类型。
- 所以下面主要介绍数据类型跟变量的关系
数值型:
- number:普通的数字,可以有用八、十、十六等进制来表示,可以是浮点数。
字符型:
- string:被""或''包裹的字符
布尔型:
- boolean:有两个值,一个是true,一个是false;
引用型:
- undefined:声明了变量,但未进行赋值初始化的变量。
- object:表明变量是一个对象;当变量赋值null时代表是一个空对象.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Document</title>
<script>
function f1(){
var test=6;//Number
var a="7";//String
var b=true;
var c;
var d=null;
var e={'name':"lilei"};
console.log(typeof(test));//number
console.log(typeof(a));//string
console.log(typeof(b));//boolean
console.log(typeof(c));//undefined
console.log(typeof(d));//object
console.log(typeof(e));//object
}
</script>
</head>
<body>
<input type="button" value="点击" onclick="f1()">
</body>
</html>
补充:
- 字符串的转义问题:在字符串中可以有些字符具有特定的意义,比如\n显示到网页中时会变成换行符。如果想要“不使用那个特别的意义”,需要在这些特别的字符前面加\
- typeof(变量名)可以返回变量的数据类型。
javascript的运算符
算数运算符:
- +加法运算符
- 加法运算符除了数值相加的功能外,还可以拼接字符串,比如"a"+"b"结果是"ab",7+"a"结果是"7a"。
- -减法运算符
- *乘法运算符
- /除法运算符
- %求余运算符
- +=加法赋值运算符、-=减法赋值运算符、*=乘法赋值运算符、/=除法赋值运算符、%=求余赋值运算符
自增、自减运算符:
- ++:自增运算符,在自己数值的基础上进行加一
- --:自减运算符,在自己数值的基础上进行减一
- 自增、自减运算符可以位于变量之前【先自增,再取值】,也可以位于变量之后【先取值,再自增】,
关系运算符:
- <= :不大于运算符,比如a <= b,如果a不大于b,那么返回true,否则返回false
- < : 小于运算符
- > :大于运算符
- >= :不小于运算符
- == :等于运算符
- !== :不等于运算符
- 比较规则:
- 数值之间:直接比较数值大小
- 一个是数值:把另一个转换成数值
- 字符串之间:比较它们之间的unicode数值大小
- 字符串与非数值:把非数值转成字符串
- 其他。。。
逻辑运算符:
- ! :逻辑非运算,把结果取反,返回结果是布尔值,
- && :逻辑与运算,返回结果是布尔值,
- || :逻辑或运算,返回结果是布尔值
位运算符:
- ~:按位非
- &按位与
- |按位或
- ^按位异或
- <<位左移运算
- >>带符号右移运算
- >>>无符号右移运算
其他运算符:
- ?: :这是一个三目运算符,表达式 (expr1) ? (expr2) : (expr3)。在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
javascript的流程结构
循环结构:
- while结构
- while(条件表达式){循环执行代码段}
- do-while结构
- do{循环执行代码段}while(条件表达式);
- do-while循环不管初始条件是否成立都会执行一次
- for结构
- for (循环变量=初值;循环条件;计数器){循环执行代码段}
- for-each结构
- for (循环变量 in 集合){循环执行代码段}
选择结构
- if
- if(条件表达式1){条件表达式1为真时执行的代码}else if(条件表示2){条件表达式2为真时执行的代码}else{前面的条件都不符合时执行的代码}
- else if 和else是可选的
- switch
- switch(值){ case 值1:代码段;break;case 值2:代码段;break;case 值3:代码段;break;……default:代码段;}
结束语句:
- return:结束return 所在函数体的运行。并返回return 后面跟着的值。
- break:结束break所在的循环。break也可以在switch用来跳出选择,没有break时会向下执行另外一个case。
- continue:在continue的位置提前结束本次循环,然后执行下一次循环判断。
【粗糙版】javascript的变量、数据类型、运算符、流程结构的更多相关文章
- JAVA 变量 数据类型 运算符 知识小结
---------------------------------------------------> JAVA 变量 数据类型 运算符 知识小结 <------------------ ...
- php入门 数据类型 运算符 语言结构语句 函数 类与面向对象
php PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them ...
- Java 语言基础 (初识Java语言, 变量和数据类型, 运算符, 流程控制语句, 数组)
初始 Java 语言 Java SE -- Java Platform, Standard Edition 是 Java 平台的基础 Java SE 以前称为 J2SE, 可以编写桌面应用和基于 we ...
- JavaScript--总结一(变量+数据类型+运算符)
JavaScript是什么? 是一门脚本语言(不需要编译,直接执行) 是一门解释性语言 是一门动态类型的语言 是一门基于对象的语言 JavaScript分为三个部分 1.ECMAScript 标准- ...
- JavaScript判断变量数据类型
一.JS中的数据类型 1.数值型(Number):包括整数.浮点数. 2.布尔型(Boolean) 3.字符串型(String) 4.对象(Object) 5.数组(Array) 6.空值(Null) ...
- javascript的变量声明、数据类型
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- javascript的变量声明和数据类型
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...
- JavaScript 基础 (变量声明, 数据类型, 控制语句)
创建: 2017/09/16 更新: 2017/09/24 更改标题 [JavaScript 概要]-> [JavaScript 基础] 完成: 2017/09/25 更新: 2017/10/0 ...
随机推荐
- 在 .NET Core 下的 Swagger UI 自定义操作
1.Swagger UI 是什么? Swagger UI 是一个在线的 API 文档生成与测试工具,你可以将其集成在你的 API 项目当中. 支持 API 自动同步生成文档 高度自定义,可以自己扩展功 ...
- 微信小程序入门(三)
11.开发框架基本介绍 四个组成部分,其它三个前面介绍过了,主要WXS: WXS:对wxml增强的一种脚本语言,可以对请求的数据进行filter或者做计算处理,帮助wxml快速构建出页面结构. 12. ...
- c++中的左值与右值
左值(lvalue)和右值(rvalue)是 c/c++ 中一个比较晦涩基础的概念,不少写了很久c/c++的人甚至没有听过这个名字,但这个概念到了 c++11 后却变得十分重要,它们是理解 move/ ...
- Kubernetes 中的核心组件与基本对象概述
Kubernetes 是 Google 基于 Borg 开源的容器编排调度,用于管理容器集群自动化部署.扩容以及运维的开源平台.作为云原生计算基金会 CNCF(Cloud Native Computi ...
- Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)
一. 概述 linux安全系统的核心是用户账户. 创建用户时会分配用户ID(UID). UID是唯一的,但在登录系统时不是用UID,而是用登录名.在讲文件权限之之前,先了解下linux是怎样处理用户账 ...
- Android--UI之ProgressBar
前言 开门见山,开篇明意.这篇博客主要讲解一下Android中ProgressBar控件以及间接继承它的两个子控件SeekBar.RatingBar的基本用法,因为其有继承关系,存在一些共有特性,所以 ...
- Python特技杂货铺
Python3特技杂货铺 Python3实现汉字简体和繁体相互转换 Python3中通过fake_useragent生成随机UserAgent 修改线上配置文件 PyCharm中项目上传到GitHub ...
- python三大神器之pip
pip是一款管理python各类包和库的工具,非常好用.下文介绍常用的一些命令. ● 安装:pip install 库名 也可以指定版本:pip install 库名=版本 ● 卸载:pip unin ...
- Dubbo 入门之二 ——- 项目结构解析
本文主要说明点 概述 背景 需求 架构 Dubbo源代码项目结构 概述 分享 Dubbo 的项目结构 ,通过本文可以大致了解到Dubbo整个项目的结构 背景 将一个项目进行拆分, 进行分布式架构. 需 ...
- xmanager 连接centos 7桌面
1.前言 工作中服务器有时候需要图形处理一些事物,那么这个时候就需要远程连接方式,XDMCP,VNC,RDP,我今天介绍一下xdmp怎么使用与配置(x display manager control ...