JavaScript语法

二、数据类型

  程序把这些量、值分为几大类,每一类分别叫什么名称,有什么特点,就叫数据类型。

1.字符串(string)

  字符串由零个或多个字符构成,字符包括字母,数字,标点符号和空格;

  字符串必须放在引号里(单引号或双引号)。

var mood = "happy";
var mood = 'happy';

  用引号括起来的内容,就是字符串类型 了;

  如果内容有单引号也有双引号的时候,使用转义字符"\",作用:解决冲突

2.数值(number)

var age = 20;
var price = 20.50;

  在生活中的数字也是区分 数值和字符串类型的:

  当作数字、数目的时候,例如年龄、价格,就是数值类型(number);

  当作编号的时候,例如身份号码、学号,就是字符串类型(string);

3.布尔类型(boolean)

  布尔类型数据只能有两种值:true 和 false;

  布尔值的true和false就是逻辑里面的真假,也是计算机语言里里面的0,1;

var married = true;
var married = false;

  注意:与字符串不同,不要把布尔值用引号括起来。布尔值 false 与 字符串 "false"是两回事。

4.对象(object)

  Javascript是一种面向对象的语言,因此可以使用面向对象的思想来进行对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体。

  例如:Date日期对象

    Date对象用来处理日期和时间

//新建日期对象,然后赋值给变量today
var today = new Date;
//使用日期对象获取年份的方法得到今年的年份,然后赋值给变量year
var year = today.getFullYear();
//使用日期对象获取月份的方法得到这个月的月份,然后赋值给变量month
var month = today.getMonth() + 1;
//使用日期对象获取到日期数的方法得到今天是几号,然后赋值给变量day
var day = today.getDate();
//将年份、月份、日期输出到页面
document.write(year+"年"+month+"月"+day+"日"); //时分秒
var hours = today.getHours();
var minutes = today.getMinutes();
var seconds = today.getSeconds();
document.write(hours+"时"+minutes+"分"+seconds+"秒");

5.Array数组

  变量一般都只能存储一个内容,所以变量是一个单一的容器;

  数组一般可以存一个或者是多个值 ,所以数组是一个大的容器。

  数组的组成部分:

    数组其实是由多个(键-值)所组成的一个多容器

    数组的索引,默认是从0开始的

//方式一
var arr1 = new Array(1,2,3,4,5,6,7,8,9,0);
//方式二
var arr2 = [1,2,3,4,5,6,7,8,9,0];
//方式三
var arr3 = new Array();
arr3[0] = 1;
arr3[1] = 2;

  多维数组:

var arr = [
[1,2,3],
[4,5,6]
];
document.write(arr[1][2]); //

6.null,underfined

 null

  在 JavaScript 中 null 表示 "什么都没有"。

  null是一个只有一个值的特殊类型,表示一个空对象引用。

  你可以设置为 null 来清空对象:

  var person = null;

 underfined

  在 JavaScript 中, undefined 是一个没有设置值的变量。

  typeof 一个没有值的变量会返回 undefined。

  你可以设置为 undefined 来清空对象:

  var person = undefined;

 null 和 underfined 的区别 :

typeof undefined      // undefined
typeof null // object
null === undefined // false
null == undefined // true

三、数据类型的查看和转换

1.查看数据类型 typeof

var mood = "happy";
alert(typeof mood); //outputs : string
alert(typeof 95); //outputs : number

2.转换成字符串

var married = false;
alert(married.toString());  // outputs : "false" var age = 25;
alert(age.toString());  //outputs : "25"

3.转换成数字

  parseInt() 转换成整数

var test = parseInt("blue");   //returns NaN
var test = parseInt("1234blue");   //returns 1234
var test = parseInt("22.5");   //returns 22
var test = parseInt("asd23434");   //returns NaN

    NaN:不是数值的数值

  parseFloat() 转换成浮点数

var test = parseFloat("1234blue");   //returns 1234
var test = parseFloat("22.5");   //returns 22.5

  不同类型的运算:

var a = "23";
var b = 1;
alert(a+b); //231 说明:如果不是同种类型的话,那么+代表的是拼接的意思
alert(a-b); //22 说明:除了+这种特殊的运算方式以外,即使是不同类型也能够进行运算

4.判断变量类型

  A,判断字符串

typeof(a)=="string";

  B,判断数值

typeof(a)=="number";

  C,如果是一个数值类型,但内容不是一个有效的数字,会显示NaN,判断NaN isNaN(a)

  D,判断变量是否为空(未定义变量。或定义变量但没进行初始化就会出现)typeof(a)=="undefined"

四、运算符

1.算术运算符(+ - * / %)

alert("10"+20); //return 1020;
alert(10+20);  //return 30;
alert(20-10);  //return 10;
alert(10*5);  //return 50;
alert(10/5);  //return 2;
alert(10%5);  //return 0;

2.后增量/后减量运算符 ++ ,--

var i = 0,
j = i++; // 先赋值后运算
console.log(j); //j=0

 前增量/前减量运算符 ++ ,--

var i = 0,
j = ++i; // 先运算后赋值
console.log(j); //j=1

3.比较运算符 (>, <, >=, <=, ==, !=)

alert ( 10 > 5 );  //outputs true

var i = 100;
var n = 100;
alert(i == n);  //outputs true
alert(i != n);  //outputs false
alert(i === n);  //outputs true 数据类型和值都相等

4.逻辑运算符(&& 与, || 或 , ! 非)

var i = 8;
alert ( i<5 && i<10);  //outputs false
alert ( i > 100 || i < 10);  //outputs true
alert(!(10 > 5));  //outputs false

五、JavaScript的注释

  // 单行注释

  /* …*/ 多行注释

六、程序流程控制

1.条件语句 if

  语法:if(condition) statements1 else statement2

  例子:

var i = prompt("您的成绩是:");
if(i >= 80) {
alert("成绩优异");
}else if(i >= 60) {
alert("成绩合格");
}else{
alert("成绩不合格");
}

2.switch 语句

  相当于条件判断的变种方式,或者是另外的一种形式

  语法:

switch (expression){
case value:
//statement
break;
case value:
//statement
break;
default:
//statement
}

  例子:

var i = prompt("请选择套餐A,B,C,D");
switch (i) {
case "A":
alert("您已订购A套餐");
break;
case "B":
alert("您已订购B套餐");
break;
case "C":
alert("您已订购C套餐");
break;
case "D":
alert("您已订购D套餐");
break;
default:
alert("欢迎下次光临");
}

JavaScript基础知识总结(二)的更多相关文章

  1. JavaScript基础知识(二)

    一.JavaScript事件详解 1.事件流:描述的是在页面中结束事件的顺序 事件传递有两种方式:冒泡与捕获. 事件传递定义了元素事件触发的顺序. 如果你将 <p> 元素插入到 <d ...

  2. 林大妈的JavaScript基础知识(二):编写JavaScript代码前的一些简单工作

    在介绍JavaScript语法前,我们需要知道,学习语法必须要多利用手敲代码来巩固记忆.因此,由于JavaScript的特性,它不能像C++和Java一样独立地编译及运行,我们需要在调试运行JavaS ...

  3. Jquery源码中的Javascript基础知识(二)

    接上一篇,jquery源码的这种写法叫做匿名函数自执行 (function( window, undefined ) { // code })( window ); 函数定义了两个参数window和u ...

  4. JavaScript 基础知识(二):闭包

    首先来思考一下下面的案例: function unclosure() { let count = 0 return count++ } for (let index = 0; index < 1 ...

  5. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  6. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  7. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  8. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  9. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  10. Java JDBC的基础知识(二)

    在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...

随机推荐

  1. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  2. ASP.NET Core 中间件之压缩、缓存

    前言 今天给大家介绍一下在 ASP.NET Core 日常开发中用的比较多的两个中间件,它们都是出自于微软的 ASP.NET 团队,他们分别是 Microsoft.AspNetCore.Respons ...

  3. Sublime Text 3中文乱码解决方法以及安装包管理器方法

    一般出现乱码是因为文本采用了GBK编码格式,Sublime Text默认不支持GBK编码. 安装包管理器 简单安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令 ...

  4. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  5. iOS开发之ReactiveCocoa下的MVVM(干货分享)

    最近工作比较忙,但还是出来更新博客了,今天给大家分享一些ReactiveCocoa以及MVVM的一些东西,干活还是比较足的.在之前发表过一篇博文,名字叫做<iOS开发之浅谈MVVM的架构设计与团 ...

  6. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  7. SignalR系列目录

    [置顶]用SignalR 2.0开发客服系统[系列1:实现群发通讯] [置顶]用SignalR 2.0开发客服系统[系列2:实现聊天室] [置顶]用SignalR 2.0开发客服系统[系列3:实现点对 ...

  8. SOLID 设计原则

    SOLID 原则基本概念: 程序设计领域, SOLID (单一功能.开闭原则.里氏替换.接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期 引入的记忆术首字母缩略字,指代了面向对象编程和面向对象 ...

  9. Flex 布局教程:实例篇

    该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...

  10. SAP CRM 将组件整合至导航栏中

    到现在,我们已经可以让组件独立地显示.我们只是运行它.让它显示在Web UI中.让我们把组件整合进导航栏,使我们可以在正常登录Web UI时访问它. 步骤一: 为你的UI组件主窗体创建一个内向插件. ...