JavaScript 学习笔记(二)
学习内容:
一.变量的定义
二.JS的基本数据类型
三.JS的基本语法
1.变量的定义:
任何语言中最基本的东西就属于变量了,那么如何定义变量以及运用,其实是一件很简单的事情。。
JS中提供了如何去定义变量,但是在定义变量的时候我们需要明确和注意一些事情。。
- 变量必须以字母开头
- 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
- 变量名称对大小写敏感(y 和 Y 是不同的变量)
JS中变量的定义有自己的定义方式。。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script language="javascript" type="text/javascript">
var num1=100;//不要写成int
var num2=200;
sum=num1+num2;
//var sum=sum1+sum2;
document.writeln(sum);
var s="javascript";//不要写成string
var s1="html";
var s2=s+s1;//+代表将两个字符串连接
document.writeln(s2);
</script>
</body>
</html>
从上面的代码我们不难发现,JS在语法上并不是像编程语言那样规范,要求也并不是非常的严格。。
并且在定义变量的时候我们只能使用var来定义,不能像在编程语言中那样规范的定义方式,否则就会
出错,在编写JS代码的时候,变量的类型我们是不必写出来的,意思就是没必要写成int sum=。。。
我们只需要写出var sum=...就可以了。。只要浏览器自己知道变量是什么类型的就可以了。。。因此
在定义变量的时候一定要注意自己定义的方式。。。
2.JS的基本数据类型
(1)数值型
i.整型常量
十六进制以0x开头,例如0x88
八进制必须以0开头,如0123
十进制第一位不能是0,如123
ii.实型常量
12.23 5E7(科学计数法) 4e5等等
iii.特殊数值 NaN (不是数值型) Infinity(无穷大)
(2)布尔型
布尔型就很简单了,一个true,一个false
(3)字符型
字符串也一样简单:"abc"
字符串中的特殊字符,需要以反斜杠的(\)后面跟一个普通字符来表示。如\r \n \t \b \'等等
3.JS的基本语法——三大流程控制
三大流程控制
(1)顺序控制:顺序控制其实就是指程序按照顺序的情况下执行。。。
(2)分支控制:(1)单分支(2)双分支(3)多分支
(1)单分支 就是
if(条件表达式){
语句;
}
(2)双分支就是
if(条件表达式){
语句;
}else{
语句;
}
(3)多分支结构
if(条件表达式){
语句;
}else if(条件表达式){
语句;
}else{
语句;
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script language="javascript" type="text/javascript">
//解决1+....10的和
var n=10;
var sum=0;
for(var i=1;i<=n;i++)
{
sum+=i;
}
document.writeln(sum);
//解决从1-10之间偶数的和
var n1=10;
var sum1=0;
var sum2=0;
for(var j=1;j<=n1;j++)
{
if(j%2==0)
{
sum1+=j;
}else
{
sum2+=j;
}
}
document.writeln(sum1);
document.writeln(sum2);
</script>
</body>
</html>
(3)循环控制部分和(1)do_while循环(2)while循环(3)for循环(4)for_in循环
(1)do_while (2)while (3)for (4)for_in(了解即可)
do while(条件) for(var...) for(变量 in 对象)
{ { { {
需要执行的代码 需要执行的代码; 需要执行的代码; 需要执行的代码;
}while (条件); } } }
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script language="javascript" type="text/javascript">
var n=10;
var sum=0;
do
{
sum+=n;
}while(n--);
document.writeln(sum);
var n1=10;
var sum2=0;
while(n1)
{
sum2+=n1;
n1--;
}
document.writeln(sum2);
var sum3=0;
for(var j=1;j<=n1;j++)//不要顺手写成了int
{
sum3+=j;
}
document.writeln(sum3);
var a=new Array();
var x;
a[0]=1;
a[1]=2;
a[2]=3;
for(x in a)
{
document.writeln(a[x]);
}
</script>
</body>
</html>
这四种常用的也就是while和for循环了。。其实掌握了这两种循环结构就可以了。。。
JavaScript 学习笔记(二)的更多相关文章
- Javascript学习笔记二——操作DOM
Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...
- JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...
- javascript学习笔记二
1.js的string对象 **创建 String对象 *** var str = "abc"; **方法 和 属性(文档) *** 属性 length : 字符串的长度 ***方 ...
- javascript学习笔记(四) Number 数字类型
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数 toExponential() 方法 用科学 ...
- JavaScript学习笔记之数组(二)
JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...
- amazeui学习笔记二(进阶开发4)--JavaScript规范Rules
amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...
- Javascript学习笔记三——操作DOM(二)
Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring
接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...
- JavaScript学习记录二
title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
随机推荐
- STM32F103 AFIO时钟疑问
在stm32F103系列中:AFIO是重映射辅助时钟,如果仅仅是使用第二功能(如uart,spi,),不需要打开,使用第二功能打开GPIO和第二功能时钟.我反复测试是这样的 AFIO时钟由RCC_AP ...
- YOLO 详解
YOLO核心思想:从R-CNN到Fast R-CNN一直采用的思路是proposal+分类 (proposal 提供位置信息, 分类提供类别信息)精度已经很高,但是速度还不行. YOLO提供了另一种更 ...
- MongoDB索引原理
转自:http://www.mongoing.com/archives/2797 为什么需要索引? 当你抱怨MongoDB集合查询效率低的时候,可能你就需要考虑使用索引了,为了方便后续介绍,先科普下M ...
- Linux安装mysql——源码安装
1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [root@ rhel5 ...
- [k8s]kubespray(ansible)自动化安装k8s集群
kubespray(ansible)自动化安装k8s集群 https://github.com/kubernetes-incubator/kubespray https://kubernetes.io ...
- Oracle 每五千条执行一次的sql语句
今天碰到一个问题,更新历史数据时,由于数据库表数据量太大,单行更新速度很慢,要求每五千条执行一次提交进行更新.执行SQL如下: declare i_count int; i_large int; be ...
- (基于Jenkins + SVN + Ant + Weblogic Server的)应用程序自动(/一键)部署的设想
一直想实现自动部署,这里说的自动部署,是指点击一个按钮(或定时执行),让计算机将最新的应用程序发布到相应的环境(UAT或PRD)中. 自动部署的意义 自动部署能省去繁琐的人工发布步骤:如配置得当,发布 ...
- gulp的使用 文档
#gulp ##1 什么是gulp.为什么使用gulp Gulp是一个**构建系统**,它能通过自动执行常见任务,比如编译预处理CSS,压缩JavaScript,来改进网站开发的过程. 将less文件 ...
- git使用教程&&问题列表
git教程[转] http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 git push ...
- 开发中tomcat缓存问题
tomcat-清除缓存 方法一: conf/server.xml文件 Context path中间加上reloadable="true" 例如:<Context pat ...