欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 前端技术 > javascript >内容正文

javascript

javascript notes -ag凯发k8国际

发布时间:2024/10/12 javascript 24 豆豆
ag凯发k8国际 收集整理的这篇文章主要介绍了 javascript notes 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

javascript notes

了解

  • 区分大小写、变量是弱类型、行结尾加分号、括号表明代码块
  • 注释:单行// 块注释 /*
  • 特殊字符: 特殊字符

  • 常量/变量

  • 没有常量概念,通常在代码中给定值

    var a = 3.1415926;
    var b = "hello";

  • 变量-保存程序中的临时值,可被后面的脚本使用,弱类型
  • 同时声明多个变量(不建议)
  • 变量命名
    • 以字母、下划线或美元符开头
    • 余下字符可以是下划线、美元符或任何字母数字
    • 最长255字符
    • 不能有空格、大小写敏感
    • 不能使用javascript的关键字或保留字命名

  • 数据类型

  • typeof操作符:检测变量的数据类型
  • 五种原始类型
    • undefined-未定义类型
    • null-空类型
    • boolean-布尔类型(true/false)true/false是错误的
    • number-数字类型:整型(十进制、八进制、十六进制)、浮点型(必须包含小数点)

      var box = 4.12e9; //即4120000000
      var box = 0.00000000412 //即4.12e-9

    • string-字符串类型:表示由零或多个16位unicode字符组成的字符序列

      var box = 'lee';
      var box = "lee";

  • 一种复杂类型:object

    对象起始就是一组数据和功能的集合
    使用new操作符,后跟要创建的对象类型的名称来创建对象
    object()里可以任意传参,可以穿数值、字符串、布尔值等
    还可以进行相应的计算


    使用new object()来表示一个对象,也可以使用这种new这种操作符来创建其他类型的对象
    var box = new number(5);//new string('lee')、new boolean(true)
    alert(typeof box);

  • nan,即非数值(not a number)是一个特殊的值

    用于表示一个本来要换回数值的操作数未返回数值的情况(这样就不会抛出错误了)

  • 转义字符

    \n 换行
    \t 制表
    \b 空格
    \r 回车
    \f 进纸
    \\ 斜杠
    \' 单引号
    \" 双引号
    \xnn 以十六进制代码nn表示一个字符(0~f)。eg:\x41
    \unnn 以十六进制代码nnn表示的一个unicode字符(0~f)。eg:\u03a3

  • 类型转换

    javascript是弱类型语言,变量的类型对应于其值的类型
    可以对不同类型的变量执行运算,解释器强制装换数据类型,然后进行处理

    • 字符串->数值:
      • parseint(var)
      • parsefloat(var)
      • number(var)
    • 值->字符串
      • tostring()
    • number()函数:转型函数,可以用于任何数据类型

  • 运算符

  • 赋值运算符:=、 =、-=、*=、/=
  • 算术运算符: 、-、* 、/、%、 、--、-
  • 关系运算符:==、!=、>、<、>=、<=
  • 等同运算符:===(严格意义上的等同)
  • 逻辑运算符:&&、||、!
  • 条件运算符:

    status = (age >= 18) ? "adult" : "minor"

  • 位运算符:
  • 有符号数:<<、>>
  • 无符号数:<<<、>>>
  • 优先级:略

  • 流程控制

  • 选择语句:if、if-else、if-else if、switch
  • 循环语句:for、while、do-while、for-in、break、continue
  • 异常处理语句:try-catch、try-catch-finally、throw

  • 函数

    javascript的函数属于function对象,因此可以使用function对象的构造函数来创建函数;
    可以使用function关键字以普通的形式来定义一个函数;

  • 普通定义方式(使用function)

    ···javascript
    function 函数名 ([参数1,[参数2,[参数n]]])
    {
    [语句组];
    [return [表达式]];
    }
    ···

  • 函数变量定义方式:实质是创建一个函数对象

    var 变量名 = new function([参数1,[参数2,[参数n]]],[函数体]);

  • arguments对象--函数可以接受任意个数的参数,通过arguments来访问

    arguments对象代表正在执行的函数和调用它的参数
    函数对象的length属性说明函数定义时指定的参数个数
    arguments对象的length属性说明调用函数时实际传递的参数个数
    作用:验证所传递的参数是否符合函数要求

  • 函数返回类型
  • 值类型使用的是值传递方式,即传递数据的副本(一般情况下)
  • 引用类型返回的是数据的地址,而不是数据本身

    引用传递的优点是速度快,但系统会为维护数据而付出额外的开销

  • 函数调用
  • 普通调用:带参数调用、无参数调用
  • 链接调用:用户点击链接后,即调用该函数
  • 事件触发调用
  • 其他内部函数:
  • number()、parseint()、parsefloat();
  • isnan();
  • eval()-把字符串当做javascript表达式来执行;
  • 函数嵌套:函数内部定义另外一个函数;
  • 函数的作用域:公有函数、私有函数

  • 数组

    javascript数组元素的数据类型可以不相同,可以是任意有效的javascript数据类型

  • 数组对象:一组变量的有序集合,通过数组索引来使用一个变量
  • 创建数组:
  • 创建一个空数组:

    var obj = new array();

  • 通过指定数组长度创建数组:

    var obj = new array(size);

  • 通过指定数组元素创建数组:

    var obj = new array(元素1, 元素2, ... , 元素n);

  • 直接创建数组:

    var obj = [元素1, 元素2, 元素3, ... , 元素n];

  • 数组使用:无区别
  • 数组元素的基本操作
  • 添加数组元素:
    • push()-将新元素添加到数组的尾部
    • unshift()-将指定个数的新元素插入数组的开始位置,形成新的数组

      var students = new array();
      students.push("lily");

    • 如果指定的下标超过数组的长度,数组将扩展为新下标指定的长度;
  • 删除数组元素:
    • delete 数组名[下标];
    • 如果需要删除全部元素只需要删除数组对象即可

    var names = array("李莉", "杨洋");
    delete names[0];

  • 数组元素的个数:

    var obj = new array(1, 2, 3);
    var count = obj.length;

  • array对象的常用方法
    • tostring-返回array中的元素转为由逗号分隔的字符串
    • join-数组所有元素连接,间隔符由参数指定(省略参数则由逗号分隔)
    • concat-数组组合
    • pop-移除最后一个元素并返回该元素
    • push-增加新元素,并返回新长度
    • shift-移除第一个元素并返回该元素
    • slice-返回一个新数组,为原数组中的一段
    • reverse-返回一个新数组,由原数组反转而成
    • sort-返回一个排序后的数组

  • javascript对象

    对象:一种类型(引用类型——一种数据结构,用于将数据和功能组织在一起),而对象的值就是引用类型的实例。

  • 对象成员:属性(properties)和方法(methods)
  • 对象创建
  • 使用new运算符

    var box = new object(); //使用new运算符创建object
    box.name = '张三';
    box.age = 28;
    var box = object(); //省略new关键字

  • 字面量表示法

    var box = { name : '张三', age : 28 };
    var box = {'name': '张三', 'age': 28};

  • 输出方式

    alert(box.age);
    alert(box['age']);

  • 创建方法:

    var box = {
    run : function(){
    return '运行';
    }
    }
    alert(box.run());

  • 删除对象属性

    delete box.name;

  • with语句——将代码作用域设置到一个特定的对象中
    • 在with语句体内,任何对变量的引用都被认为是这个对象的属性

    var box = {'name':'tom','age':28,'height':178};

    var n = box.name;
    var a = box.age;
    var h = box.height;
    以上改写成:
    with(box){
    var n = name;
    var a = age;
    var h = height;
    }

  • 对象废除
    • 不必专门销毁对象来释放内存
    • 当没有针对该对象的引用时,自动废除
    • 把对象的引用设置为null也可以废除
  • javascript内部对象
  • 常用内部对象
    • array
    • global
    • date
      • togmtstring-使用格林威治标准时间数据格式将date对象转成字符串
      • tolocalestring-使用当地时间格式将date转成字符串
      • date.parse(datestring)-用日期字符串表示自1970年1月1日以来的毫秒数
      • date.utc(year,month,day,hours,min,secs)-date对象中自1970年1月1日以来的毫秒数
    • math
      • abs(x)
      • ceil(x):大于等于x的最小整数
      • exp(x)
      • floor(x):小于等于x的最大整数
      • round(x):四舍五入
      • sqrt(x)
      • random(x)
    • string
      • charat(i):返回指定索引位置处的字符
      • charcodeat(i):
      • concat(str):连接字符串
      • indexof(str)
      • lastindexof(str)
      • replace(str1, str2):返回将str1替换为str2后的字符串
      • slice(start,end):返回字符串中起始位置为start结束位置为end的子字符串
      • split(separator,limit):以separator为分隔符以数组返回limit个元素
      • substr(start,length)
      • substring(start,end):不包括end
      • tolowercase
      • touppercase
    • number
      • max_value
      • min_value
    • boolean
      • tostring()
      • valueof()

  • 正则表达式

    正则表达式(regular expression)是一个描述字符模式的对象
    string和regexp都定义了使用正则表达式进行模式匹配和文本检索与替换的函数
    正则表达式主要用来验证客户端的输入数据

  • 创建正则表达式
  • new运算符

    var box = new regexp('box');
    var box = new regexp('box','ig'); //para1:字符串,para2:可选模式修饰符

  • 字面量方式

    var box = /box/; //直接用两个反斜杠
    var box = /box/ig; //反斜杠后加上模式修饰符

  • 参数:i->忽略大小写, g->全局匹配, m->多行匹配
  • regexp对象
  • 方法
    • test:在字符串中测试模式匹配,返回true或false
    • exec:在字符串中执行匹配搜索,返回第一个匹配值
  • 静态属性
    • input
    • lastmatch
    • lastparen
    • leftcontext
    • multiline
    • rightcontext
  • 实例属性
    • global
    • ignorecase
    • lastindex
    • multiline
    • source
  • string对象中的正则表达式方法
    • match(pattern)
    • replace(pattern,replacement)
    • search(pattern)
    • split(pattern)
  • 元字符

    包含特殊含义的字符,可以控制匹配模式的方式

  • 字符类:单个字符和数字
    • . 匹配除换行符外的任意字符
    • [a-z0-9] 匹配括号中的字符集中的任意字符
    • [^a-z0-9] 匹配不在括号中的任意字符
    • \d 匹配数字
    • \d 匹配非数字
    • \w 匹配字母和数字及_
    • \w 匹配非字母和数字及_
  • 字符类:空白字符
    • \0 匹配null字符
    • \b 匹配空格字符
    • \f 匹配进纸字符
    • \n 匹配换行符
    • \r 匹配回车字符
    • \t 匹配制表符
    • \s 匹配空白字符、空格、制表和换行符
    • \s 匹配非空白字符
  • 字符类:重复字符
    • x? 0或1个x
    • x* 0个或任意多个x
    • x 至少一个x
    • (xyz) 至少一个xyz
    • x{m,n} m-n个x
  • 字符类:替代字符
    • this|where|logo 匹配this或where或logo中任意一个
  • 字符类:锚字符
    • ^ 行首匹配
    • $ 行尾匹配
    • \a 只匹配字符串开始处
    • \b 匹配单词便捷,词在[]内时无效
    • \b 匹配非单词边界
    • \g 匹配当前搜索的开始位置
    • \z 匹配字符串结束处或行尾
    • \z 只匹配字符串结束处
  • 字符类:记录字符
    • (string) 用于反向引用的分组
    • \1或$1 匹配第一个分组中的内容
    • \2或$2 匹配第二个分组中的内容
    • \3或$3 匹配第三个分组中的内容
  • 常用的正则
    • 检查邮政编码:

      var pattern = /[1-9][0-9]{5}/; //共6位数字,第1位不能为0

    • 检查文件压缩包:

      var pattern = /[\w] .zip|rar|gz/; //\w表示所有数字和字母加下划线

    • 删除多余空格:

      var pattern = /\s/g; //g必须全局,才能全部匹配

    • 删除首尾空格:

      var pattern = /^\s /; //强制首
      var str = ' goo gle ';
      var result = str.replace(pattern,'');
      var pattern = /\s $/; //强制尾
      result = result.replace(pattern,'');
      alert('|' result '|');

      var pattern = /^\s*(. ?)\s*$/; //使用了非贪婪捕获
      var str = ' google ';
      alert('|' pattern.exec(str)[1] '|');

      var pattern = /^\s*(. ?)\s*$/;
      var str = ' google ';
      alert('|' str.replace(pattern,'$1') '|');

    • 简单的电子邮件验证:

      var pattern = /^([a-za-z0-9_.-] )@([a-za-z0-9_.-] ).([a-za-z]{2-4})$/;

      var pattern = /^([\w.-] )@([\w.-] ).([\w]{2-4})$/;

  • 转载于:https://www.cnblogs.com/mzyan/p/10295218.html

    总结

    以上是ag凯发k8国际为你收集整理的javascript notes的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

    • 上一篇:
    • 下一篇:
    网站地图