JS是面向对象的语言

  1. 封装
  2. 继承
  3. 多态
  4. 聚集(对象中具有引用其他对象的能力)

JS使用中绝大多数情况不需要进行面向对象的设计,很多情况是使用已经设计好,准备好的对象,基于对象的语言.

JS的使用(引入)

  1. jsp、html中直接在script标签中书写
  2. 在script标签中引入

  注意:

    1. script 标签位置任意. 但是位置越靠前,执行越早.(重要)
    2. js 外部文件推荐扩展名是.js.但是其实任何后缀名都可以.
    3. 使用script标签引入外部文件,那么该script标签中就不要书写js代码了.

JS的基本语法

  • 变量声明

   变量声明使用var,变量区分大小写 str 和 STR 不是同一个变量. 字符串使用双引号("")或单引号('')包裹都可以.变量的类型可以随时改变.命名规则是匈牙利标记法.

    var str = 1; var str = "Hello";  //两者之间没有任何区别

  • 行尾使用 ";" 作为一行的结束符号.(可以没有";", 以折行符(回车)作为一行的结尾.)(不推荐)
  • js 中的注释有两种单行,多行

    单行注释"//"  多行注释 "/* */"

  • 封装代码块与 java 一样,使用{}.
  • 变量声明时, 前缀 var 也不是必须的.
      加var 和 不加 var 有什么区别? 如果不使用var,那么该变量是全局变量

JS的类型

  js中类型分为两种

    1. 原始数据类型
    2. 对象数据类型

  java中 基本数据类型有 byte short int long float double boolean char
  js中 原始数据类型有     number(数字,浮点型,整型)
             string(js语言的突破,没有char类型.)
             boolean
             null (用来标示引用数据类型的占位符.通常都是人为赋值.)var person = null;
             undefined (由null衍生出来的值,是当我们声明一个变量,)
                1.没有给该变量初始化值,那么系统会默认赋值为undefined
                2.函数中没有返回值,那么默认返回undefined
  原始数据类型 判断符:
    typeof  用来判断一个变量是哪种原始类型的.
    null会返回object, 是js中的一个bug,这个bug 被认为很贴切.所以保留了该bug.

JS中的语句

  java中有循环: for while-do do-while
     有判断: if switch
  js中语句 与java中一模一样!

  特殊: java中的增强for循环在js中没有.
  js中有for(var xx in xx) 语句.  用的很少,用来遍历对象的属性.

JS中运算符

  一元运算符
    一元加法,减法  
      var a = +1;
      var b = -1;
    在js中的高级应用.
      var c = +"1";   //进行类型转换
      var d = +"abc";   // 转换失败,返回number中的特殊值 NaN.

  Boolean 运算符 ! && ||
  js中自动类型转换. 转换规律 (重点)
    string  ==> "" 转换为false 其他都为true;
    number ==> 除了NaN,+0和-0.其他都转换为true.
    null ==> false
    undefined ==> false
    NaN特性:
      NaN参与的任何boolean运算返回值都是false. 除了!=,因为undefined是null衍生出的,所以 alert(undefined == null);// true
  比较运算符

    alert(11>3);  //true
    当运算符两端 , 一端是数字,一端是其他类型时, 其他类型会自动向数字类型转换
      alert("11">3);  // true
      alert(11>"3");  //true
    字符串在进行比较时 ,规律是: 比较首字符asc码. 如果一样,比较第2位...
      alert("11">"3");  // false
      alert("11">"1");  // true
      alert("abc">11);  //false

    等性运算符 == != ===
    全等于: === 比较时包括类型.

ECMAScript中的对象

  1. Object  是所有对象的超类.
  2. Function对象以及Function的创建

    1. var fun1 = new Function("a","b","alert(a+b);");
    2. var fun2 = function (a,b){alert(a+b);}
    3. function fun3(a,b){alert(a+b)}
  3. Function的调用
  4. js中函数的调用只看函数名称. 调用时内置对象arguments, arguments代表函数运行期间实际参数列表.
      arguments.length  实际参数个数
      arguments[0]   第一个参数.
      应用: arguments 实现函数的重载.
  5. 函数的返回
    1. 如果函数没有显示指定返回值,那么函数返回值为undefined.
    2. 使用return关键字,返回内容
    3. return 关键字,在js中也可以作为结束方法运行的功能.
    4. void运算符的应用.

ECMAScript中对对象的分类

  1. 本地对象
    内建对象   不需要创建实例.直接使用 Global Math
    主机对象   DOM BOM 两部分.
    ECMAScript中3个包装对象.
      String Number Boolean
    伪对象: string number boolean 这3个原始类型可以看作是伪对象, 能直接调用包装对象的方法和属性.
      String对象属性length
    重要的方法
      indexOf
      lastIndexOf
      charAt
      alert(str1.charAt(0));  //a
      charCodeAt 返回所在字符的asc码
      alert(str1.charCodeAt(0));  //97
      subString
      alert(str1.substring(0, 1));  //a
      slice 支持负数. 从右往左.
      alert(str1.slice(0, -1));  //a
    与正则结合的方法
      split
     
     replace
      match
      search

   Global对象

 

JS入门熟知的更多相关文章

  1. 1. web前端开发分享-css,js入门篇

    关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...

  2. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  3. Ember.js入门教程、博文汇总

    第一章 对象模型 Ember.js 入门指南——类的定义.初始化.继承 Ember.js 入门指南——类的扩展(reopen) Ember.js 入门指南——计算属性(compute properti ...

  4. JS入门之ActiveXObject对象(转载)

    JS入门之ActiveXObject对象   此对象提供自动化对象的接口.   function ActiveXObject(ProgID : String [, location : String] ...

  5. Node.js 入门手册:那些最流行的 Web 开发框架

    这篇文章与大家分享最流行的 Node.js Web 开发框架.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编 ...

  6. 【特别推荐】Node.js 入门教程和学习资源汇总

    这篇文章与大家分享一批很有用的 Node.js 入门教程和学习资源.Node 是一个服务器端的 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用 ...

  7. 让我们一起学习《Node.js入门》一书吧!

    Node.js入门 读完本书之后,你将完成一个完整的web应用,该应用允许用户浏览页面以及上传文件. 里面对一些知识的讲解,让你略窥Node.js的门径.最好一段代码一段代码的写下来,我的习惯是手里拿 ...

  8. web前端开发分享-css,js入门篇(转)

    转自:http://www.cnblogs.com/jikey/p/3600308.html 关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人 ...

  9. Node.js入门实例程序

    在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...

随机推荐

  1. Java应用服务器Resin

    Resin是CAUCHO公司(http://www.caucho.com/)的产品,是一个非常流行的支持servlets 和jsp的引擎,速度非常快.Resin本身包含了一个支持HTTP/1.1的WE ...

  2. 视音频编解码学习工程:H.264分析器

    =====================================================视音频编解码学习工程系列文章列表: 视音频编解码学习工程:H.264分析器 视音频编解码学习工 ...

  3. Chipmunk碰撞形状:cpShape

    目前有3种碰撞类型: 圆(Circles):最快并且最简单的碰撞形状 线段(Line segment):主要用于静态形状.可以表示斜线(Can be beveled in order to give ...

  4. 仿滴滴抢单倒计时的Demo

    滴滴里面有一个下单完成之后等待界面的倒计时转圈的视图... 就是这个... 原理: 通过CAShapeLayer层添加到自己自定义的视图layer上... 设置ShapeLayer的path... 他 ...

  5. java反射案例详解

    白首为功名.旧山松竹老,阻归程.欲将心事付瑶琴.知音少,弦断有谁听? [案例1]通过一个对象获得完整的包名和类名 package Reflect; /** * 通过一个对象获得完整的包名和类名 * * ...

  6. Ubuntu 14 安装MySQL指南

    ubuntu 14 安装MySQL指南安装MySQLsudo apt-get install mysql-server这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面 ...

  7. 【Android 应用开发】分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计

    .主要是为了总结一下 对这些概念有个直观的认识; . 作者 : 万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/198 ...

  8. 【面试笔试算法】Program 5 : 推箱子 (网易游戏笔试题)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 推箱子是一款经典游戏.如图所示,灰色格子代表不能通过区域,蓝色方格是箱子,黑色圆形代表玩家,含有圆点的格子代表目标点. 规 ...

  9. OAF 开发TAB页

    TAB页 2013年1月17日 21:31 当查询结果列数比较多的时候,往往一页显示不下,在FORM的情况下,我们往往会用Tab页的方法解决.那么在OAF如何制作TAB页呢?下面的教程将介绍如何制作一 ...

  10. Xcode自定义字体不能应用的原因

    想给UILabel换一个自定义的字体,从字体册选择兰亭黑: 然后选择 在Finder中显示,找到字体文件为Lantinghei.ttc: 将其拷贝到项目中,在info.plist里添加字体支持key, ...