你要保守你心,胜过保守一切,因为一生的果效,是由心发出的。————O(∩_∩)O...

...O(∩_∩)O...老师因有事下午没来上课,今天就只把中午讲的知识总结一下。由于昨天只是讲了JavaScript的一些基础入门知识点,所以今天就详细地总结一下Javascript的基础。

Javascript语言组成:

ECMAScript:描述了该语言的语法和基本对象。
DOM(Document Object Model):文档对象模型,描述处理网页内容的方法和接口。
BOM(Browser Object Model) :浏览器对象模型描述与浏览器进行交互的方法和接口。
 
Javascript语言特点:
1.是一种解释性脚本语言(代码不进行预编译)。
2.主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
3.可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
4.跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
 
Javascript数据类型
 
1.命名规则(和C#基本一样)
只能由字母、数字、$和下划线组成,并且第一个字符必须是字母或下划线。
区分大小写,不区分双引号和单引号。
不能使用关键字作为变量名。
Javascript脚本语言中只提供了6种类型:
  • Undefined   未被定义类型
  • Boolean      布尔类型
  • String         字符串类型
  • Number      数字类型
  • Object        引用类型
  • Function     方法类型
注:在使用变量之前,必须先进行变量的声明和定义,声明变量使用关键字var,可以同时声明多个变量
 
2.运算符(和C#基本一样)
Javascript语言的运算符主要分为:算数运算符、比较运算符、逻辑运算符。
算术运算符包括:+、-、*、/、%、++、--
比较运算符包括:>、<、==、>=、!=
逻辑运算符包括:||(或)、&&(和)、!(非)
 注:“=”表示赋值  ““==”表示两边比较的值,"==="表示两边的值必须是同一类型
 
3.程序结构(和C#基本一样)
在Javascript脚本语言中,只提供了两种结构:条件结构(If、Switch-Case)、循环结构(For、While、do-while)
 
 查看类型
  • 当text=0时,打印出Number;当为空字符串时打印出string,为null打印出object
var text = 0;
alert(typeof text)

类型转换(JS中可以把任意类型转换为Boolean类型,数字类型除了0之外都是true,反之是false)

  • 如果不赋值或赋值null或赋值undefined,则都是打印出的true,
var u

alert(u == undefined);
  • 字符串转布尔类型,字符串非空时返回True,否则返回False
var s = "hello";
var b = Boolean(s);
alert(b);
  • 空值转换数字类型(Number())
var b = null;
alert(Number(b));
  • 转换浮点类型(ParseFloat()、ParseInt()转换整数类型)
 var s = "123.567";
alert(parseFloat(s));
  • 凡是和字符串相连的都将转换为字符串
      var name = 'Join';
var num = 123;
alert( typeof (name+num));
  • 任意类型都可以转字符串(tostring())

toLocaleString()转本地语言          tostring(2)转为二进制

var b = true;
alert(b.toString());
alert(name.toLocaleString());
  • function方法

任何方法都以function开头。可以在方法里用return返回,并在方法外接收。

 function SayHi(name, message)
{
alert("Hello"+name+"mesg:"+message); }
SayHi("Rocky", "123");

调用方法时,参数要和方法体里一一相对。

function howManyArgs()
{
alert(arguments[0]+arguments[1]+arguments[2]);
} howManyArgs(1,2,3);

注:在Javascript中没有方法重载的概念,名字相同,参数不同,也将会打印出最后一个方法。

程序结构中没有块级作用域(可以在循环语句外调用i)

for (var i = 0; i < 10; i++)
{ } alert(i);

数组类型

定义数组的几种方法

1. var 数组名=new Array(具体长度)可以用for遍历出来,也可以直接alert(数组名)打印出来。

  var colors = new Array(3);//设置数组的长度。
colors[0] = "red";
colors[1] = "blue";
colors[2] = "yellow";
for (var i = 0; i <colors. length; i++)//遍历出来
{
alert(colors[i]);
}

2.var 数组名=new Array(值1,值2...值n)

var colors1 = new Array("red", "blue", "yellow");
for (var i = 0; i < colors1.length; i++)
{
alert(colors[i]);
}

3.可以简写:var 数组名=[值1,值2...值n]。

push(后进后出,追加到数组后面)

pop(从数组的末尾移除最后一项)

shift(取得数组中的第一项)

        var colo = ["red", "blue", "yellow"];

        colo.push("张三", "李四");
colo.pop();
alert(colo.shift());
alert(colo);

substring()第二个参数指定的是字符串最后一个字符后面的位置

substr(n,m)n开始位置,m截取长度

var str = "Woshiunib";
alert(str.substring(1, 3));
alert(str.substr(1, 3));

排序:

 升序(sort())

var values = [1, 3, 2, -9, 5, 11];
function compare(v1, v2) {
if (v1 < v2) {
return -1;
}
else if (v1 > v2) {
return 1;
}
else {
return 0;
}
}
values.sort(compare);
alert(values);

降序:在方法体里取反。

var values = [1, 3, 2, -9, 5, 11];
function compare(v1, v2) {
if (v1 < v2) {
return 1;
}
else if (v1 > v2) {
return -1;
}
else {
return 0;
}
}
values.sort(compare);
alert(values);

倒序:(reverse())

var values = [1, 3, 2, -9, 5, 11];
function compare(v1, v2) {
if (v1 < v2) {
return 1;
}
else if (v1 > v2) {
return -1;
}
else {
return 0;
}
}
values.reverse(values);
alert(values);

判断是否为数字(用IsNaN())

var num1 = "Hello";
alert(isNaN(num1));

昨天由于时间的关系,没有写完,所以这是补的昨天的博客总结,今天晚上在继续吧!加油!O(∩_∩)O...

 
 

JavaScript知识(二)的更多相关文章

  1. 快速掌握JavaScript面试基础知识(二)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

  2. WEBBASE篇: 第十一篇, JavaScript知识6

    JavaScript 知识6 一, String 对象 1,分隔字符串, 函数: split(seperator) 作用: 将字符串,通过seperator 拆分成一个数组: eg: var msg= ...

  3. WEBBASE篇: 第十篇, JavaScript知识5

    JavaScript知识5 <!doctype html> <html lang="en"> <head> <meta charset=& ...

  4. 学习javascript数据结构(二)——链表

    前言 人生总是直向前行走,从不留下什么. 原文地址:学习javascript数据结构(二)--链表 博主博客地址:Damonare的个人博客 正文 链表简介 上一篇博客-学习javascript数据结 ...

  5. 初探JavaScript(二)——JS如何动态操控HTML

    除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...

  6. 【原文】前端程序员必须知道的高性能Javascript知识

    原文:前端程序员必须知道的高性能Javascript知识 想必大家都知道,JavaScrip是全栈开发语言,浏览器,手机,服务器端都可以看到JS的身影. 本文会分享一些高效的JavaScript的最佳 ...

  7. 《jQuery风暴》第2章 必须知道的JavaScript知识

    第2章 必须知道的JavaScript知识 JavaScript是jQuery应用的基础,掌握JavaScript这门语言是使用jQuery的基础条件.本章不会全面细致的讲解JavaScript的全部 ...

  8. Javascript知识——事件

    O(∩_∩)O~~又是新的一周开始了,今天还是在继续学习Javascript知识,今天主要讲了事件的知识.现在就总结下吧. 事件 事件一般是用于浏览器和用户操作进行交互.最早是 IE 和 Netsca ...

  9. Javascript知识四(DOM)

     [箴 10:4] 手懒的,要受贫穷:手勤的,却要富足. He becometh poor that dealeth with a slack hand: but the hand of the di ...

  10. 从头开始学JavaScript (十二)——Array类型

    原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = ne ...

随机推荐

  1. 二叉查找树的Find,FindMin,FindMax的递归和非递归实现

    typedef struct TreeNode *Position; typedef struct TreeNode *SearchTree; struct TreeNode{ ElementType ...

  2. Struts2 自定义拦截器实例—登陆权限验证

    实现一个登陆权限验证的功能 message.jsp: <body> message:${message } </body> login.jsp: <% request.g ...

  3. linux安装mongodb并启动

    CentOS6.4 安装MongoDB   1.下载MongoDB(64位) http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tg ...

  4. .CN根域名被攻击至瘫痪,谁之过?【转】

    2013年8月25日凌晨,.CN域名凌晨出现大范围解析故障,经分析.CN的根域授权DNS全线故障,导致大面积.CN域名无法解析.事故造成大量以.cn和.com.cn结尾的域名无法访问.直到当日凌晨4点 ...

  5. Java基础学习笔记2

    运算符: 重点:++和--运算符; a++ (a--):表示先将a的原值带入计算,计算完毕后,再将a的值进行+1(-1); ++a (--a):先将a的值进行+1(-1)运算,然后将+1(-1)以后的 ...

  6. DIV以及图片水平垂直居中兼容多种浏览器

    纯css完美地解决图片以及div垂直水平居中,兼容IE7.0.IE6.0.IE5.5.IE5.0.FF.Opera.Safari具体实现css 如下,感兴趣的朋友可以参考下哈   第一种:全CSS控制 ...

  7. mysql distinct&group by 应用

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...

  8. 解决linux ping: unknown host www.baidu.com(转)

    解决方案:    如果某台Linux服务器ping不通域名, 如下提示: [root@localhost ~]# ping www.baidu.comping: unknown host www.ba ...

  9. eclipse中输入的中文为繁体的问题

    今天在eclipse中编写注释的时候发现,输入的中文都为繁体,且只在eclipse编辑器中为繁体,切换到网页中则为正常. 最后发现,竟然是输入法的shift+ctrl+F快捷键和eclipse的冲突. ...

  10. JAVA 从GC日志分析堆内存 第七节

    JAVA 从GC日志分析堆内存 第七节   在上一章中,我们只设置了整个堆的内存大小.但是我们知道,堆又分为了新生代,年老代.他们之间的内存怎么分配呢?新生代又分为Eden和Survivor,他们的比 ...