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. opencv在图像显示中文

    在图像定位和模式识别时,经常需要把结果标注到图片上,标注内容可以是数字字母.矩形框等(opencv支持的)或者是中文汉字(借助freetype). 1.显示数字/矩形框 #include <op ...

  2. 快速构建H5单页面切换骨架

    在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...

  3. Js 变量声明提升和函数声明提升

    Js代码分为两个阶段:编译阶段和执行阶段 Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容 包括变量声明(var a)和函数声明(function a(){ ...

  4. WebGIS项目中利用mysql控制点库进行千万条数据坐标转换时的分表分区优化方案

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 项目中有1000万条历史案卷,为某地方坐标系数据,我们的真实 ...

  5. fir.im Weekly - 关于 iOS10 适配、开发、推送的一切

    "小程序"来了,微信变成名副其实的 Web OS,新一轮的Web App 与Native App争论四起.程序员对新技术永远保持灵敏的嗅觉和旺盛的好奇心,@李锦发整理了微信小程序资 ...

  6. SQL Server常见问题介绍及快速解决建议

    前言 本文旨在帮助SQL Server数据库的使用人员了解常见的问题,及快速解决这些问题.这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架. 下面一些问题是 ...

  7. linux-centos在VM中的网络配置

    1.自动获取IP地址 虚拟机使用桥接模式,相当于连接到物理机的网络里,物理机网络有DHCP服务器自动分配IP地址. #dhclient 自动获取ip地址命令 #ifconfig 查询系统里网卡信息,i ...

  8. Java中的进程与线程(总结篇)

    详细文档: Java中的进程与线程.rar 474KB 1/7/2017 6:21:15 PM 概述: 几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进 ...

  9. useful commands for docker beginner

    You may want to add my wechat public account or add my technical blog's RSS feed This list is meant ...

  10. PropertyGrid控件由浅入深(一):文章大纲

    Winform中PropertyGrid控件是一个非常好用的对象属性编辑工具,对于Key-Value形式的数据的处理也是非常的好用. 因为Property控件设计良好,在很小的空间内可以展示很多的内容 ...