JavaScript知识(二)

你要保守你心,胜过保守一切,因为一生的果效,是由心发出的。————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);

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

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

var num1 = "Hello";
        alert(isNaN(num1));
时间: 2024-11-09 02:40:02

JavaScript知识(二)的相关文章

javaScript生成二维码(改造jquery.qrcode.js,使之支持中文,能带logo)

最近公司要求使用javaScript生成二维码,在网上搜了很多相关的资料,都不是很全面,俗话说:自己动手,丰衣足食. (这里吐槽下,有网友有了解决方案,却刻意把源代码压缩了,导致不知道改了什么东西,知识大家一起学习嘛,授人与鱼不如授人与渔!) 总结如下: 资料搜索 选择star最多的两个 第一个就是用的比较多的jquery.qrcode.js(但不支持中文,不能带logo)啦,第二个支持ie6+,支持中文,根据第二个源代码,使得,jquery.qrcode.js,支持中文. 支持中文 1 //q

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

除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次接触JS,没有必要花费过多时间去钻死胡同,先混个脸熟,以后再来拜访也未尝不可嘛.就这样,踉踉跄跄.囫囵吞枣似的已经过五关斩六将,到达第十一章. 书中有几个章节并没有从语法.技术等层面介绍JavaScript,而是站在一个全局的角度,立足编程原则和习惯道破了我们该如何看待和使用这门语言,主要有以下几点: Jav

Head first javascript(二)

three basic data types text number boolean 变量 var var_name; 用'='初始化变量 var var_name = ini_value; const (不是所有浏览器都支持const) const const_name = ini_value; nan: not a number 使用一些未初始化的变量进行计算的时候会产生nan,如: const unknown; total = (1 + 2) * unknown; 这里total在计算的时

Ext JS学习第三天 我们所熟悉的javascript(二)

•javascript之函数 •对于Ext开发者,我还是希望你能对javascript原生的东西非常了解.甚至熟练掌握运用.那么函数,无疑是非常重要的概念.首先在前面一讲,我们知道了函数也是一种数据类型,创建函数一共有三种方式.每种方式他们都会有区别,分别为: –function语句形式 –函数直接量形式 –构造函数形式 •函数中的arguments对象 –argument的作用一:接受函数的实际参数 –argument的作用二:用于做递归操作 栗子代码 1 //Function 函数 2 //

JavaScript知识体系

JavaScript知识版图 Language ECMAScript Browser BOM DOM Other Transmition Ajax.JSON Server-side Node JavaScript纵向生态 应用层 交互逻辑 组件层 定制组件 通用组件 如Datepicker 框架层 jQuery.Angular.React…… 核心层 原生js和底层API 分类依据:什么是编程语言?编程语言就是用于操纵计算机干活的指令.计算机能干什么活?计算机只会干一件事,那就是处理数据.因此编

整理一下CoreGraphic和Quartz2D的知识(二)

利用Quartz2D绘图的基本步骤 •1. 获取与视图相关联的上下文对象 –UIGraphicsGetCurrentContext •2. 创建及设置路径 (path) –2.1 创建路径 –2.2 设置路径起点 –2.3 增加路径内容…… •3. 将路径添加到上下文 •4. 设置上下文属性 –边线颜色.填充颜色.线宽.线段连接样式.线段首尾样式.虚线样式… •5. 绘制路径 •6. 释放路径 什么是路径::? •路径定义了一条或者或多条形状或子路径 •子路径可以包含一条或者多条直线或曲线 •子

Javascript生成二维码(QR)

网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成.本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对不住服务器,尤其是对于大流量的网站,虽然有服务器端缓存,毕竟需要大量的CPU运算时间,这或多或少也是很大的一块压力.所以就想,有没有一种不靠服务器,就只靠JS就生成二维码呢,毕竟二维码就是一堆黑白点而已.我也没有刻意去找网络上是否已经存在这样的解决方案,而且自己一直想深入分析二维码的生成细节,现有的项目也有这样的需求,于是我自己研

Javascript知识——事件

O(∩_∩)O~~又是新的一周开始了,今天还是在继续学习Javascript知识,今天主要讲了事件的知识.现在就总结下吧. 事件 事件一般是用于浏览器和用户操作进行交互.最早是 IE 和 Netscape Navigator 中出现,作为分担服务器端运算负载的一种手段. 直到几乎所有的浏览器都支持事件处理. 而 DOM2级规范开始尝试以一种复合逻辑的方式标准化 DOM 事件.IE9.Firefox.Opera.Safari 和Chrome 全都已经实现了“DOM2 级事件”模块的核心部分.IE8

Javascript知识四(DOM)

 [箴 10:4] 手懒的,要受贫穷:手勤的,却要富足. He becometh poor that dealeth with a slack hand: but the hand of the diligent maketh rich. O(∩_∩)O~~ 昨天总结了<Javascript知识三>后忘记发布了,呵呵,最近我的忘性很大啊O(∩_∩)O~~,今天是练习,所以把这周还未总结的写下来,和大家一起分享交流. 首先,还是先把function剩下的总结下: 函数的自定义: 例如这道题,是定

window7使用svn(svn系列 客户端 知识二总结)

 ?eclipse插件subclipse  ?TortoiseSVN  ?svn操作  ?注意事项 使用svn可以在eclipse直接装subclipse或者在windows使用TortoiseSVN. 1.eclipse插件subclipse 可以在线或者离线安装,这里只介绍离线安装. 下载subclipse:http://subclipse.tigris.org/ csdn下载地址:http://download.csdn.net/detail/sinat_31719925/9800062