1、Javascript是什么?

JavaScript是一种脚本语言,结构简单,使用方便,其代码可以直接放入HTML文档中,可以直接在支持JavaScript的浏览器中运行.JavaSript。

Javascript使得网页的交互性更强,更生动和灵活.当在浏览网页时做了某种操作就产生一个事件,JavaScript所编写的程序可对相应的事件做出响应。

2、Javascript的特点

⑴Javascript区分大小写;而HTML、CSS不区分大小写。

⑵Javascript是弱类型语言,定义变量只能用“var”关键字。

⑶Javascript的注释有两种:/*  */  和 //。HTML的注释语言是<!-- -->;CSS的注释是/* */。

3、Javascript的变量

⑴变量通过关键字var声明

⑵用var关键字可以同时声明多个变量,例如

var name=”Tom”,age=19,male=true;

⑶Javascript的变量不一定需要初始化;虽然不需要初始化,但给一个初始值是比较好的,例如

var name;

  

⑷变量的名称规则

①首字母必须是字母(大小写均可)、下划线、或者美元符;②余下的字母可以是下划线、美元符、任意字母或数字字符;③变量名不含关键字

⑸命名习惯:增强代码的可读性

4、Javascript的数据类型

⑴字符串

var sMyString=”hello world”;

字符串属性方法

⑵数值

⑶布尔型

⑷类型转换

①typeof

    var a = "hello world";

    var b = 10;

    var c = true;

    alert("typeof(a) is " + typeof (a) + "\n" +

          "typeof(b) is " + typeof (b) + "\n" +

          "typeof(c) is " + typeof (c)

          );

  

②数值转字符串

    var a = 3;

    var b = a + "";

    var c = a.toString();

    var d = "" + a;

    alert("typeof(a) is " + typeof(a) + "\n" +

          "typeof(b) is " + typeof(b) + "\n" +

          "typeof(c) is " + typeof(c) + "\n" +

          "typeof(d) is " + typeof(d) + "\n"

        );

  

特殊的一个例子,结果分别是“54、414”。

    var a = b = c = 4;

    alert(1 + b + c.toString());

    alert(c.toString() + 1 + b);

  

数值类型转字符中的同时,实现进制转换

    var a = 11;

    document.write(a.toString(2) + "<br>");

    document.write(a.toString(3) + "<br>");

    document.write(a.toString(8) + "<br>");

    document.write(a.toString(16) + "<br>");

  

③字符串转数值类型

parseInt(), parseFloat()

首先检查索引为0处的字符,判断其是否为有效数字;如果不是字符,直接返回isNaN,不再进行操作;如果为有效字符,检查索引为1处的字符,直到发现非有效字符为止。

    document.write(parseInt("4567red") + "<br>");

    document.write(parseInt("53.5") + "<br>");

    document.write(parseInt("0xC") + "<br>");    //直接进制转换

    document.write(parseInt("isaacshun@gmail.com") + "<br>");

  

    document.write(parseFloat("34535orange") + "<br>");

    document.write(parseFloat("0xA") + "<br>");  //不再有默认进制,直接输出第一个字符“0”

    document.write(parseFloat("435.34") + "<br>");

    document.write(parseFloat("435.34.564") + "<br>");

    document.write(parseFloat("isaacshun@gmail.com") + "<br>");

  

⑸数组

    var aTeam = new Array(12);

    var aColor = new Array();

    aColor[0] = "blue";

    aColor[1] = "yellow";

    aColor[2] = "green";

    aColor[3] = "black";

    var aNumber = new Array(1, 3, 4, 7);

    alert(aColor.length + " " + aColor[1]);

    alert(aNumber.length + " " + aNumber[2]);

  

    var aMap = ["China", "USA", "Britain"];

    aMap[20] = "Korea";

    alert(aMap.length + " " + aMap[10] + " " + aMap[20]);

  

④数组转字符串

    var aMap = ["China", "USA", "Britain"];

    alert(aMap.toString() + " " + typeof (aMap.toString()));

  

⑤用join方法指定转换后字符串间的连接符

    var aMap = ["China", "USA", "Britain"];

    document.write(aMap.join() + "<br>");            //无参数,等同于toString()

    document.write(aMap.join("") + "<br>");      //不用连接符

    document.write(aMap.join("][") + "<br>");        //用“][”来连接

    document.write(aMap.join("-isaac-") + "<br>");

  

⑥用split方法将字符串转数组

    var sFruit = "apple,pear,peach,orange";

    var aFruit = sFruit.split(",");

    alert(aFruit.join("--"));

  

如果split中的参数是空字符中(””),就会将每一个字符分成相应的数组元素。

    var apple = "Apple";

    var aChar = apple.split("");

    alert(aChar.join("#"));

  

⑦用reverse方法使数组元素反序

    var aFruit = ["apple", "pear", "peach", "orange"];

    alert(aFruit.reverse().toString());

  

⑧用split方法使字符串反序排列

    var sMyString = "abcdefg";

    alert(sMyString.split("").reverse().join("-"));

    /*   split("")将每一个字符转为一个数组元素

    reverse()反序数组的每个元素

    join("")再最后将数组无连接符的转为字符串

    */

  

⑨用sort方法进行数组元素排序

    var aFruit = ["pear", "apple", "peach", "orange"];

    aFruit.sort();

    alert(aFruit.toString());

  

2015-09-28 Javascript的更多相关文章

  1. iOS 学习笔记 六 (2015.03.28)常见错误

    2015.03.28 1. property's synthesized getter follows Cocoa naming convention for returning 'owned' ob ...

  2. Contest2071 - 湖南多校对抗赛(2015.03.28)

    Contest2071 - 湖南多校对抗赛(2015.03.28) 本次比赛试题由湖南大学ACM校队原创 http://acm.csu.edu.cn/OnlineJudge/contest.php?c ...

  3. http://browniefed.com/blog/2015/09/10/the-shapes-of-react-native/

    http://browniefed.com/blog/2015/09/10/the-shapes-of-react-native/

  4. http://deepdish.io/2015/04/28/creating-lmdb-in-python/

    http://deepdish.io/2015/04/28/creating-lmdb-in-python/

  5. Visual Studio 2015 开发大量 JavaScript 代码项目程序崩溃的解决方案

    最近公司做新项目,基于 Bootstrap.AngularJS 和 kendo 开发一套后台的管理系统,在项目中使用了大量的 JavaScript 文件,这两天 Visual Studio 2015 ...

  6. Cheatsheet: 2015 09.01 ~ 09.30

    Web A Guide to Vanilla Ajax Without jQuery Gulp for Beginners A Detailed Walkthrough of ASP.net MVC ...

  7. Murano Weekly Meeting 2015.09.29

    Meeting time: 2015.September.29th 1:00~2:00 Chairperson:  Serg Melikyan, PTL from Mirantis Meeting s ...

  8. Murano Weekly Meeting 2015.09.22

    Meeting time: 2015.September.22th 1:00~2:00 Chairperson:  Serg Melikyan, PTL from Mirantis Meeting s ...

  9. Murano Weekly Meeting 2015.09.15

    Meeting time: 2015.September.15th 1:00~2:00 Chairperson:  Serg Melikyan, PTL from Mirantis Meeting s ...

  10. Murano Weekly Meeting 2015.09.08

    Meeting time: 2015.September.8th 1:00~2:00 Chairperson:  Serg Melikyan, PTL from Mirantis Meeting su ...

随机推荐

  1. 字符串处理——strpos()函数

    strpos() 函数返回字符串在另一个字符串中第一次出现的位置. 大小写敏感 如果没有找到该字符串,则返回 false. strpos(string,find,start)  string 必需:规 ...

  2. 减少JAVA GC

    减少GC开销的措施:程序的运行会直接影响系统环境的变化,从而影响GC的触发.若不针对GC的特点进行设计和编码,就会出现内存驻留等一系列负面影响.为了避免这些影响,基本的原则就是尽可能地减少垃圾和减少G ...

  3. MFC一个令人纠心的错误

    IDE生成的代码,运行几次之后开始出现以下这个错误 Error: must call SetScrollSizes() or SetScaleToFitSize() before painting s ...

  4. reaver使用相关

    (非TP-LINK路由推荐–d9 –t9参数防止路由僵死 reaver -i mon0 -b MAC -a -S –d9 –t9 -vv) 小结-学习时应因状况调整参数(-c后面都已目标频道为1作为例 ...

  5. 多线程+fork 引发的bug查找

    1. 问题描述 某个server SA是一个多线程服务器,主线程会调用fork,再exec生成工作进程SB. 实际上,SA的主线程fork出了一个子线程,但没有执行exec. # ps ajxf | ...

  6. Facebook 开源三款图像识别人工智能软件

    Facebook今天开源了三款人工智能图像分割(Image Segmentation)软件,分别是DeepMask.SharpMask和MultiPathNet,三款工具相互配合完成一个完整的图像识别 ...

  7. CentOS 启动提示unexpected inconsistency;RUN fsck MANUALLY

    CentOS这两天服务器出了问题了,提示如下: unexpected inconsistency;RUN fsck MANUALLY An error occurred during the file ...

  8. 关于开发板不能ping通外网IP

    最近在做远程监控的项目,打算用开发板给一个网站发送数据包.不过发现开发板只能ping通同一局域网内的ip,外网的ip不能ping通.纠结了半天发现是网关没有设置的原因.下面来说说如何解决这个问题. 首 ...

  9. Android之路-------Activity的详解

    前言 由于接近放假,公司在赶项目所以前段LP比较忙,没什么时间总结和写博客,只是准备睡觉的时候看看书,每天看的不算多,大概10多页左右吧,不过每天坚持如此的话那也是一个庞大的数字. 今天LP的任务完成 ...

  10. WAD Forwarder版USB Loader的安装和运行

    背景知识 我使用Wad Manager来安装WAD版软件,所以需要先在Wii上面把Wad Manager准备好.详情可以参考我写的另外一篇文章<Wad Manager的下载和运行>(链接: ...