你要保守你心,胜过保守一切,因为一生的果效,是由心发出的。————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. Ubuntu-升级linux软件源,安装vim/五笔

    重装linux后 软件都没了. 这些是要做的: (1):升级软件源 sudo gedit  /etc/apt/source.list 打开后ctrl c 下面的源 ##网易的源(163源,无论是不是教 ...

  2. 转发:为什么Android使用弱加密算法?

      Android 2.2.1默认使用的加密算法是AES 256-SHA1,但从2010年发布的Android 2.3开始,它默认使用的是一种更弱的加密算法 RC4-MD5. 当Android应用建立 ...

  3. gcc中-pthread和-lpthread的区别

    最近在使用linux mint15,里面自带的gcc时4.7的,当我编译多线程程序时,使用-lpthread居然说没有找到线程库函数!!!然后man了一下,才发现在gcc 4.7中链接线程库使用-pt ...

  4. Android开发之自定义Spinner样式的效果实现(源代码实现)

    android系统自带的Spinner样式是远远满足不了我们实际开发过程中对Spinner UI风格的要求,因此我们肯定需要为了切合整个应用的风格,修改我们的Spinner样式.系统给我们提供了两种常 ...

  5. 泛泰A870S官方4.4.2系统S0218210 内核版本号信息

    从EGL中获取的信息: OpenGL ES Shader Compiler Version: 17.01.12.SPL Build Date: 02/24/14 Mon Local Branch: R ...

  6. SQL整理5

    主键(PRIMARY KEY ) 来自MSDN的描述: 表通常具有包含唯一标识表中每一行的值的一列或一组列.这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性.在创建或修改表时,您可以通过 ...

  7. pagination分页插件

    最近做了个项目,有用到分页, 这类插件应该是很常用的, 虽然网上很多现成的分页插件, 但是还是想着自己写一个, 给自己积累点东西, 顺便练练手, 写了差不多3个小时左右, 代码如下: 代码: < ...

  8. 为SharePoint 2010中的FBA创建自定义登录页面

    SharePoint 2010中默认的FBA登录页面非常简单,只提供了一个Asp.Net的Login控件,让用户输入用户名和密码.在大多数情况下,我们需要定制这个页面以满足一些安全需求,比如为登录页面 ...

  9. Entity Framework Batch Update

      NuGet Package PM> Install-Package EntityFramework.Extended NuGet: http://nuget.org/List/Package ...

  10. Hadoop Eclipse远程连接出现:Error:Call to /10.10.10.10:9000 failed on local exception: java.io.EOFException

    异常截图: