zoukankan      html  css  js  c++  java
  • javascript

    javascript

    HTML:定义网页的结构
    CSS:美化网页
    JavaScript:实现用户交互

    一  JavaScript技术

    1.1  JavaScript介绍

    在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。

    1.1.1  JavaScript与Java的区别

    JS是Netscape公司的产品,Java是Sun公司的产品
    JS是基于对象,Java是面向对象。
    JS只需解释就可以执行,Java需要先编译成字节码文件,再执行。
    JS是弱类型,Java是强类型。

    1.1.2  JavaScript特点

    安全性较高
    跨平台,兼容性好

    1.2  JavaScript的组成

    JavaScript主要由三部分组成:ECMAScript、DOM、BOM。

    ECMAScript:描述了JavaScript的基本语法(所有浏览器都支持);
    DOM:文档对象模型。提供了处理网页内容的方法;
    BOM:浏览器对象模型。提供了与浏览器进行交互的方法

     1.3  如何编写JavaScript代码

    方式一:在HTML页面中编写JavaScript代码 

    PS:里面可以加<h1>,三个位置都可以放

    script标签可以放在head标签中,也可以放在body标签中。而且,在一个HTML页面中,可以存在多个script标签。

     方式二:引入外部的JS文件

    注意事项:
    1) 在js文件中编写js代码,不需要写<script>标签;
    2) 开始的script标签和结束标签不能够写在一起;
    3) 如果在HTML页面中引入了外部的js文件,那么该script标签就不能再编写js代码,而且应该在另外一个script标签中编写;

     方式三:在HTML元素中编写js代码

     

    二  ECMAScript

    2.1  注释

    HTML: <!—注释 -->
    CSS: /*注释*/
    JavaScript://单行注释 或 /*多行注释*/

    2.2  变量

    javascript是一门弱类型的语言。所以,在javascript中声明变量不需要指定类型。

    语法格式:
    var 变量名 [= 初始值];

    注意事项:

    1) var关键字可以不写。变量的类型是根据它的值来确定的。
    2) 变量名必须以字母或下划线开头;
    3) js的变量是区分大小写的;
    4) js变量必须要先声明后使用;
    5) js变量的类型会随着它的值的改变而发生变化;

    js的数据类型:

    number:数值型,包含小数、整数、NaN(非数字)
    string:字符串类型;
    boolean:布尔类型,它的值可以是true或false;
    object:对象类型;
    undefined:该变量没有定义或初始化的时候,那么就是undefined

    2.3  运算符

    算术运算符:

    注意:前++和前--是先对变量执行++或--操作,然后再对结果进行运算。
    后++和后--是先对变量执行运算,运算后再对变量执行++或--操作。

    补充:+除了可以作为算术运算符以外,还可以字符串连接符。

    比较运算符:

    比较运算符的结果要么是true,要么是false。如果成立为true,否则为false。

     

    ===:要求比较的两个变量,它们的值和类型必须要同时相同。

    逻辑运算符:用来连接多个条件。

     

    &&逻辑非:只有当多个条件同时成立才返回true,否则返回false;
    ||逻辑或:只有一个条件成立就返回true,否则返回false;
    !逻辑非:如果条件为true,那么就返回false,否则返回true;

    赋值运算符

     

    三目运算符:

    条件表达式 ? ‘内容1’ : ‘内容2’;

    说明:如果条件成立,就返回内容1,否则返回内容2。

     

    2.4  流程控制

     2.4.1 条件判断

    语法格式:
    if (条件表达式) {

    } else if (条件表达式) {

    } …
    else {

    }

     

    2.4.2  条件选择

    语法格式:
    switch (变量) {
      case 值1:
        …
        break; //退出switch
      case 值2:
        …
        break;
      ..
      default: //如果上面case条件都不满足,就执行default后面的js代码。
      …
    }

    2.4.3 循环语句

    while循环:先判断条件是否成立。如果条件成立就重复执行大括号中的js代码。直到条件不成立为止。
    while (条件) {
      ….
    }

     

    do..while循环:先执行大括号中的js代码,然后再判断条件是否成立。如果条件成立就继续执行大括号中的js代码。直到条件不成立为止。
    do {

    } while (条件);

    for循环:先执行初始化语句,再判断条件是否成立。如果条件成立,就执行大括号中的js代码。执行完js代码后,再执行循环后的语句。接着,再判断条件是否成立,如果成立就继续执行大括号中的js代码。直到条件表达式不成立为止。

    for ([初始化语句]; [初始化语句]; [初始化语句]) {

    }

    注意:初始化语句只会执行一次。如果没有变量需要初始化,初始化语句可以没有。但是,初始化语句后面的分号一定要有。

    案例:使用循环在页面上输出以下图形

    功能分析:
    第一行:1个星号,5个空格
    第二行:3个星号,4个空格
    第三行:5个星号,3个空格
    第四行:7个星号,2个空格
    第五行:9个星号,1个空格
    第六行:11个星号,0个空格

    星号的数量 = 行号 * 2 - 1
    空格的数量 = 6 - 行号

    实现思路:
    1)循环输出每一行;
    2)循环每一行的时候,输出空格和星号;

     

    三  函数

    作用:

    实现js代码的重用;

    创建对象;

    方式一:使用function关键字定义函数

    语法格式:
    function 函数名(参数列表) {
      函数体…
    }

    注意事项:
    1) 定义函数的时候不需要定义它的返回值类型。如果函数需要返回结果,那么可以使用return命令直接返回即可;
    2) 函数的形参定义不需要使用var;
    3) js函数是没有重载,后面定义的函数会覆盖前面定义的函数。所以,在一个js文件中,不要出现重复的函数定义。

    方式二:定义函数变量
    语法格式:
    var 函数名 = function(参数列表) {

    }

     (见上图)

     全局变量和局部变量

     

    四  内置对象

    额外:

    自定义对象:

     创建对象(通过函数):

    var 对象名 = new 函数名(参数列表);

    使用Object创建对象:

    var 变量名 = new object();

    使用json语法创建对象:

    语法格式:
    var 变量名 = {
      键: 值,
      键: 值,
      …
    };

    4.1  String对象

    创建字符串的方式:
    方式一:var 变量名 = ‘内容’;
    方式二:var 变量名 = new String(‘内容’);

     

    方式一和方式二的区别:
    1) 类型上的区别:方式一创建的字符串类型是String类,而方式二创建的字符串类型是Object类型;
    2) 处理上的区别:方式一创建的字符串不能够添加额外的属性和方法,而方式创建的字符串可以添加额外的属性和方法;

     4.1.1  String对象的常用方法

    字符串函数

    功能

    fontcolor(colorval)

    构建一个指定颜色值的font标签,然后把字符串的内容包含起来

    concat()

    拼接字符串

    charAt()

    根据索引值获取单个字符

    charCodeAt()

    返回指定索引值字符的unicode编码

    indexOf()

    返回字符串中指定内容的开始位置

    lastIndexOf()

    返回字符串中指定内容最后出现的位置

    substring(start, end)

    返回字符串中指定开始和结束位置的内容,不包含end位置的字符

    substr(start, length)

    返回字符串中从指定位置开始的指定长度的内容

    valueof()

    Object对象中的一个方法。该方法可以根据不同的对象返回不同的内容

    案例:定义一个函数,实现字符串的反转功能

    4.2 Number对象

    Number代表数值数据类型,以及提供数值常量的对象。

    定义一个数值变量的方式:
    var 变量名 = 数值;
    var 变量名 = new Number(数值);

    常用方法:
    toString(n):可以把一个数值换成指定进制的字符串。

     parseFloat()   str->float


    4.3 Math对象

    Math对象是一个数学的工具类。它提供了一些用来操作数值的方法。例如:

    abs()

    求绝对值

    ceil()

    获取大于指定数值的最小整数

    floor()

    获取小于指定数值的最大整数

    max()

    求两个数的最大值

    min()

    求两个数的最小值

    random()

    获取0~1之间的随机数,但是不包括1

    round()

    对指定的值进行四舍五入运算

     

    案例:在网页上生成一个四位数的验证码

    4.4  Date对象

    Date对象代表一个日期和时间。

    创建Date对象:

     

    常用方法:

    getTime()

    获取Date对象的毫秒数

    getFullYear()

    获取日期的年份

    getMonth()

    获取日期的月份(ps:从0开始)

    getDate()

    获取日期的日

    getHours()

    获取日期的小时

    getMinutes()

    获取日期的分钟

    getSeconds()

    获取日期的秒

     

    4.5 Array对象

    Array代表一个数组,数组就是一个用来存储数据的容器。

    创建数组的方式:

     

    常用方法:

    concat()

    把多个元素或数组拼接成一个新的数组

    join()

    使用指定符号把数组的元素拼接成一个字符串并返回该字符串

    pop()

    删除并返回数组的最后一个元素

    push()

    往数组中添加一个元素,并返回数组的长度

    reverse()

    反转数组元素

    slice()

    返回指定开始和结束位置元素所组成的新数组

    splice()

    从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素

    sort()

    对数组进行排序

     

     

  • 相关阅读:
    GYM
    GYM
    GYM
    【HIHOCODER 1320】压缩字符串(区间DP)
    【HIHOCODER 1133】 二分·二分查找之k小数
    【HDU 2028】Lowest Common Multiple Plus
    【HIHOCODER 1601】 最大得分(01背包)
    概率论基础【概率论的基本概念笔记】
    【HIHOCODER 1575】 两个机器人(BFS)
    【HIHOCODER 1576】 子树中的最小权值(线段树维护DFS序)
  • 原文地址:https://www.cnblogs.com/yijue-lu/p/10428076.html
Copyright © 2011-2022 走看看