一、JavaScript数据类型

    JavaScript中,一切皆对象。

    JavaScript拥有动态类型,使用var关键字(也可以不必)进行声明——字符串、数字、布尔、对象、Null、Undefined。

    • 字符串:使用单引号或者双引号包围的字符。
    • 数字:js只有一种数字类型;可以带小数点或者不,可以使用科学计数法表示——var x = 123e5; vary = 123e-5。
      •   八进制和十六进制:var x = 0377;var y = 0x3FF
    • 布尔类型:只有两个值:true或者false。
    • 数组:声明和初始化

      var cars=new Array();  cars[0] = "Audi";

      var cars=new Array("Audi","BWM");//类似于“构造函数”

      var cars = ["Audi","BWM"];//一维数组

      var cars = [[1,2],[3,4]];//二维数组

    • 对象:对象由花括号分割,在括号内部,对象的属性以键值对的形式(key:value)来定义。属性由逗号分隔——var Person = {FirstName : "Bill", LastName:"Gates", ID:"1234"};

      对象属性的两种访问方式:var name = Person.LastName;  name = Person["LastName"];

      使用函数构造对象(同时可以为对象添加方法,然后就可以使用 对象.ChangeLastName()调用该方法)

 function person(firstname,lastname,age,eyecolor){
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor; this.ChangeLastName = ChangeLastName;
function ChangeLastName(name){
this.lastname = name;
  }
}

      对象的遍历——使用for in——for(x in person){ text += person[x]}

    • Undefined和Null:

      Undefined这个类型只有一个值,即undefined。当声明的变量还没有被初始化时,变量的默认值为undefined。

      Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

      可以使用===(绝对等于)运算符来比较undefined和null两个值,或者使用typeof null 和 typeof undefined进行比较,可以得到false。

    • 声明变量类型:

      var car = new string;

      var x = new Number;

      var y = new Boolean;

      var cars = new Array;

      var Person = new Object;

  注意:如果重新声明JavaScript变量,该变量的值不会丢失!在以下两条语句执行后,变量name的值依然是"chyong"

      var name = "chyong";

      var name;

二、函数和作用域

  • 函数的声明和调用

    函数就是包裹在花括号中的代码块,前面使用了关键字function标识。

    function FuncName(var1,var2){

    ...

    [return xx];  //可选的函数返回——任意数据类型对象

    }

    //——var1 、 var2表示 参数名称(不包含数据类型)

    函数调用写法:FuncName(变量1,变量2);

  • 变量的生命周期

    局部变量:在函数内部使用var声明的变量是局部变量,只能在函数内部访问,函数开始执行,声明周期开始,函数执行完毕,生命周期结束;不使用var声明的是全局变量,其声明周期从函数执行后开始,当前页面关闭后结束。

    全局变量:在函数外部声明的变量就是全局变量;网页上的所有脚本函数都可以访问它。从程序开始执行创建,到整个页面关闭时,变量收回。

    注意:

       1、在for循环中定义的变量,其生命周期在循环结束之后仍然是有效的!——JavaScript中没有块的概念!

       2、在方法内部定义变量的时候,如果没有加var,就是全局变量,否则就是局部变量;但是当该方法没有执行的时候,方法内部的全局变量是不会声明并且定义的。

三、异常

  • try 语句测试代码块的错误。catch 语句处理错误。throw 语句创建自定义错误。

  try 语句允许我们定义在执行时进行错误测试的代码块。

  catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

  JavaScript 语句 try 和 catch 是成对出现的。

  try
  {
  //在这里运行代码
  }
  catch(err)
  {
  //在这里处理错误
  }
  示例:
 <script>
function MyFunc(){
try{
var x = document.getElementById("demo").value;
if(x == "") throw "empty";
if(isNaN(x)) throw "not a number";
if(x > 10) throw "too large";
if(x < 3) throw "too small";
}
catch(err){
var y = document.getElementById("mess");
y.innerHTML="Error: " + err + ".";
}
}
</script> <h1>My First JavaScript</h1>
<p>Please input a number between 3 and 10:</p>
<input id = "demo" type="text">
<button type = "button" onclick="MyFunc()">Test Input</button>
<p id="mess"></p>

JaveScript初学-基础语法的更多相关文章

  1. Python基础语法 系统学习

    Python 中的基础语法最大的特点就是优雅和简洁.入门学习Python的难度相比较其他语言也比较小. 我个人比较推荐以下三个学习方式(根据个人情况和喜好,可选择任意一个): 1.  菜鸟在线:出品的 ...

  2. Python的基础语法(二)

    0. 前言 接着上一篇博客的内容,我将继续介绍Python相关的语法.部分篇章可能不只是简单的语法,但是对初学者很有帮助,也建议读懂. 1. 表达式 由数字.符号.括号.变量等组成的组合. 算术表达式 ...

  3. 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构

    004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...

  4. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  5. iOS-----正则表达式的基础语法

    正则表达式简单语法总结 一.什么是正则表达式 从概念上来说,正则表达式也是一门小巧而精炼的语言,它可以用来简化检索特定的字符串,替换特定字符等功能,有许多开发语言工具,都内嵌支持正则表达式.那么一个正 ...

  6. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  7. emmet 系列(1)基础语法

    emmet 系列(1)基础语法 emmet 是一个能显著提升开发html和css开发效率的web开发者工具 emmet基本上目前已知的编辑器都有相应的插件,各个编辑器的emmet插件的下载地址:点我下 ...

  8. Scala基础语法 (一)

    如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我 ...

  9. Java基础语法

    java基础学习总结——基础语法1 一.标识符

随机推荐

  1. solr跨core查询

    参考文档:这里的跨core不使用solrcloud http://wiki.apache.org/solr/CoreAdmin 注意:跨core查询功能相比单core查询,是有限制的   只需要在ur ...

  2. 配置mysql环境变量

    配置mysql环境变量(非必要) 说明:给mysql配置环境变量后我们就可以在cmd里运行mysql(开启.停止等操作) 1. 和其实环境变量的配置方法一样,我们打开环境变量配置窗口(组合键win+P ...

  3. leetcode877

    public class Solution { public bool StoneGame(int[] piles) { return true; } } 这问题很不好...

  4. node express+mysql搭建简易API服务—body-parser中间件

    最近用express搭建了一个简单的RESTful风格的API服务,数据库使用mysql,主要用于获取数据库数据,模糊搜索等. 需要用到的模块: express:这个都很熟悉了: body-parse ...

  5. JS 位数不够自动左补0

    var mycode = "11"; mycode = (Array(4).join(0) + parseInt(mycode)).slice(-4);//0011 mycode1 ...

  6. Git----远程仓库01

    到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了 可是用过集中式版本控制系统SVN的童鞋们会站出来说,这些功能在SVN里早就有了,没看出Git ...

  7. 下拉列表插件bootstrap-select使用实例

    网页实例 http://www.jq22.com/yanshi302 使用bootstrap-select插件来实现下来菜单搜索匹配功能,如图 实现代码如下 <html> <head ...

  8. Redis 字典的实现

    [Redis 字典的实现] 注意 dict 类型使用了两个指针,分别指向两个哈希表. 其中, 0 号哈希表(ht[0])是字典主要使用的哈希表, 而 1 号哈希表(ht[1])则只有在程序对 0 号哈 ...

  9. rabbitmq的简单介绍二

    上一篇博客我们没有介绍完rabbitmq,今天我们接着上一篇的博客继续介绍rabbitmq 这边的博客的内容如下 1.组播,对指定的队列设置关键词,通过关键词来控制消息的分发 2.更加细致的组播 先来 ...

  10. 大楼轮廓 · building-outline

    [抄题]: 水平面上有 N 座大楼,每座大楼都是矩阵的形状,可以用一个三元组表示 (start, end, height),分别代表其在x轴上的起点,终点和高度.大楼之间从远处看可能会重叠,求出 N  ...