注释

单行注释://             快捷键: CTRL + /
多行注释: /* 内容 */ 快捷键: ctrl + shift + /

变量

  • 申明变量
var name;
  • 赋值
name = 'peach';
  • 初始化变量
var age=18;
  • 更新变量
var age_age = 18;
age_age=20; // 更新
  • 申明多个变量
var a=1, b=2, c=3;
  • 变量命名规范
规则:
- 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:usrAge, num01, _name
- 严格区分大小写。var app; 和 var App; 是两个变量
- 不能 以数字开头。 18age 是错误的
- 不能 是关键字、保留字。例如:var、for、while
- 变量名必须有意义。 MMD BBD nl → age
- 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。myFirstName

数据类型

数据型 Number
  • 数据型 Number
var age = 21;      // 整数型
var Age = 21.223; // 小数型
  • 数字型进制
最常见的进制有二进制、八进制、十进制、十六进制
  • 数字型范围, 最大和最小值
Number.MAX_VALUE; // 最大值这个值为: 1.7976931348623157e+308
Number.MIN_VALUE; // 最小值这个值为:5e-32
  • 数字型三个特殊值
infinity  // 代表无穷大,大于任何数值
-infinity // 代表无穷小,小于任何数值
NaN //Not a number,代表一个非数值

字符串类型 String
  • 字符串长度
var strMsg = "我是帅气多金的程序猿!";
alert(strMsg.length); // 显示 11
  • 字符串拼接

多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串

拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串

//1.1 字符串 "相加"
alert('hello' + ' ' + 'world'); // hello world
//1.2 数值字符串 "相加"
alert('100' + '100'); // 100100
//1.3 数值字符串 + 数值
alert('11' + 12); // 1112

+ 号总结口诀:数值相加 ,字符相连

  • 字符串加强
var age = 18;
console.log('我' + age + '岁啦'); // 我18岁啦
布尔型Boolean

布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)

布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0

console.log(true + 1);  // 2
console.log(false + 1); // 1
Undefined和 Null

一个声明后没有被赋值的变量会有一个默认值undefined

var variable;
console.log(variable); // undefined
console.log('你好' + variable); // 你好undefined
console.log(11 + variable); // NaN
console.log(true + variable); // NaN

一个声明变量给 null 值,里面存的值为空

var vari = null;
console.log('你好' + vari); // 你好null
console.log(11 + vari); // 11
console.log(true + vari); // 1

获取变量数据类型

  • 检测变量的数据类型

typeof 可用来获取检测变量的数据类型

var num=1;
console.log(typeof num); // number

数据类型转换

转换为字符串
  • toString()
var num = 1;
console.log(typeof num.toString()); // 1 string
  • String()
var num1 = 1;
console.log(typeof String(num1)); // 1 string
  • 加号拼接字符串
var num2 = 1;
console.log('我' + num2); // 我1

toString() 和 String() 使用方式不一样

三种转换方式,更多第三种加号拼接字符串转换方式, 这一种方式也称之为隐式转换

转为数据类型
  • parseInt
console.log(parseInt('10'));  // 10
  • parseFloat
console.log(parseFloat('10.123'));  // 10.123
  • Number
console.log(Number('10.2'));  // 10.2
  • js隐式转换为数据类型
console.log('10' - 1);   //  9
转换为布尔型

代表空、否定的值会被转换为 false ,如 ''、0、NaN、null、undefined

其余的都会转换为true

console.log(Boolean(0));  // false
console.log(Boolean(12)); // true

JavaScript 开胃菜的更多相关文章

  1. 【Orleans开胃菜系列2】连接Connect源码简易分析

    [Orleans开胃菜系列2]连接Connect源码简易分析 /** * prism.js Github theme based on GitHub's theme. * @author Sam Cl ...

  2. 【Orleans开胃菜系列1】不要被表象迷惑

    [Orleans开胃菜系列1]不要被表象迷惑 /** * prism.js Github theme based on GitHub's theme. * @author Sam Clarke */ ...

  3. C#面向对象(一):明确几个简单的概念作为开胃菜

    绝对干货,总结了下C#面向对象的干货内容以及我几年来的使用心得,分享出来 先明确几个简单概念作为开胃菜: 1.命名空间 namespace BackStageManagement.Services 关 ...

  4. Python 手册——开胃菜

    如果你写过大规模的Shell脚本,应该会有过这样的体会:你还非常想再加一些别的功能进去,但它已经太大. 太慢.太复杂了:或者这个功能需要调用一个系统函数,或者它只适合通过C来调用……通常这些问题还不足 ...

  5. Android之View绘制流程开胃菜---setContentView(...)详细分析

    版权声明:本文出自汪磊的博客,转载请务必注明出处. 1 为什么要分析setContentView方法 作为安卓开发者相信大部分都有意或者无意看过如下图示:PhoneWindow,DecorView这些 ...

  6. HDU 1230饭前开胃菜

    题意不讲了.. 没思路,上去就是干.... 两个所谓要加的数直接存到数组,开一个标记的数组,然后直接加,乱搞一波,就好了. 细心一点. #include<iostream> #includ ...

  7. SpringSecurity实战记录(一)开胃菜:基于内存的表单登录小Demo搭建

    Ps:本次搭建基于Maven管理工具的版本,Gradle版本可以通过gradle init --type pom命令在pom.xml路径下转化为Gradle版本(如下图) (1)构建工具IDEA In ...

  8. 接口自动化测试的"开胃小菜"---简单黑客攻击手段

    Web应用系统的小安全漏洞及相应的攻击方式 接口自动化测试的"开胃小菜" 1   写作目的 本文讲述一个简单的利用WebAPI来进行一次基本没有破坏力的“黑客”行为. 主要目的如下 ...

  9. ArcGIS API for JavaScript 4.2学习笔记[18] 搜索小部件

    这个例子很简单,作为开学后(暴露出学生党的本质)的开胃菜是再合适不过了. 不过,博主提前警告一下:接下来的例子会相当的长.烦.难.我还会用"引用"-"函数参数骨架&quo ...

随机推荐

  1. QQ全量上云,你想了解的技术细节都在这

    腾讯的业务体量非常庞大,在2019年,腾讯已拥有超过了100万台服务器,其中,社交业务包括QQ和空间的体量有近20万台服务器,且分布在全国三地. 把QQ这头大象搬到云上并非易事.作为腾讯最庞大.最悠久 ...

  2. 神经网络反向传播算法&&卷积神经网络

    听一遍课程之后,我并不太明白这个算法的奇妙之处?? 为啥? 神经网络反向传播算法 神经网络的训练依靠反向传播算法,最开始输入层输入特征向量,网络层计算获得输出,输出层发现输出和正确的类号不一样,这时就 ...

  3. CF1280E Kirchhoff's Current Loss

    题意 做法 考虑一个子电路图\(G\),设得到有效电阻为\(x\),费用为\(f_G(x)\),通过归纳易得\(f_G(x)\)是关于\(x\)的一个一次函数,即\(f_G(x)=k_Gx\) 考虑电 ...

  4. PAT (Basic Level) Practice (中文)1066 图像过滤 (15 分)

    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式: 输入在第一行给出一幅图像的分辨 ...

  5. Acer4315笔记本CPU升级

    终于有时间升级一下不怎么用的旧笔记本Acer4315了.在计划升级前了解了一下,芯片组是GL960,支持可升级的CPU有: CM560 CM570 T1600 T1700 T2310 T2330 T2 ...

  6. ECMAScript基本语法——⑤运算符 算数运算符

    +-*/%

  7. display: inline-block 布局

    三个元素display: inline-block; 布局 ,其中一个元素中存在其他元素也用了display: inline-block; 无法垂直居中,将这个元素设置为display: inline ...

  8. 2020 Plan

    1. English IELTS  7.0 IELTS word 3271,  10 words diff 2 Grammar framework IELTS writing Friends foll ...

  9. 【资源分享】Gmod自瞄自动开枪脚本

    *----------------------------------------------[下载区]----------------------------------------------* ...

  10. scanf使用尿性

    scanf("xxx%d",&xx); "xxxx%d" 这里不能乱写,这里是标准输入,不然xx的一直不对,和printf不一样,而且%d 和& ...