一、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. OpenMP 《并行程序设计导论》的补充代码

    ▶ 使用 OpenMP 和队列数据结构,在各线程之间传递信息 ● 代码,使用 critical 子句和 atomic 指令来进行读写保护 // queue.h #ifndef _QUEUE_H_ #d ...

  2. Python实践练习:选择性拷贝

    题目 项目要求:编写一个程序,遍历一个目录树,查找特定扩展名的文件(诸如.pdf 或.jpg),不论这些文件的位置在哪里, 将它们拷贝到一个新的文件夹中. 代码 import os import sh ...

  3. We could not complete your iTunes Store request

    We could not complete your iTunes Store request.An unknown error occurred(502). There was an error i ...

  4. Spring Boot日志集成

    Spring Boot日志框架 Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用 ...

  5. Excel数据转化为sql脚本

    在实际项目开发中,有时会遇到客户让我们把大量Excel数据导入数据库的情况.这时我们就可以通过将Excel数据转化为sql脚本来批量导入数据库. 1 在数据前插入一列单元格,用来拼写sql语句. 具体 ...

  6. 用API处理位图

    procedure TForm1.Button1Click(Sender: TObject); var dc : hdc; MemDc : hdc; MemBitmap : hBitmap; OldM ...

  7. 与DispatcherServlet的 url-pattern配置问题

    <!--当DispatcherServlet 的url-pattern配置成/ 访问不到静态资源 的解决方法1:使用Tomcat默认的Servlet解决 --> 在web.xml中加以下代 ...

  8. readlink 获取当前进程对应proc/self/exe

    [readlink 获取当前进程对应proc/self/exe] shell中  readlink /proc/self/exe READLINK(2)NAME       readlink - re ...

  9. UISearchDisplayController 阴影遮盖frame调整

    iOS7中UISearchDisplayController 与UISearchBar结合使用时,有时候会出现搜索框获得焦点时,阴影遮盖部分挡住了搜索框,影响用户使用,如下图 API中没有阴影图层的接 ...

  10. 对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错。

    对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错.步骤如下: 右键新的工程---&g ...