• JavaScript基础学习(二)


    JavaScript 支持不同类型的循环:

    for - 循环代码块一定的次数

    for/in - 循环遍历对象的属性

    while - 当指定的条件为 true 时循环指定的代码块

    do/while - 同样当指定的条件为 true 时循环指定的代码块

    null 和 undefined 的值相等,但类型不等:

    typeof undefined             // undefined
    typeof null                  // object
    null === undefined           // false
    null == undefined            // true

    1、定义

    •  (1)undefined:没有赋值的变量,自动默认赋值为undefined;
    •  (2)null:主动释放一个变量引用的对象,这个变量不再指向任何对象地址。

    2、何时使用null?

    当使用完一个比较大的对象时,需要对其进行释放内存时,设置为 null。

    3、null 与 undefined 的异同点是什么呢?

    共同点:都是原始类型,保存在栈中变量本地。

    不同点:

    (1)undefined——表示变量声明过但并未赋过值。

    它是所有未赋值变量默认值,例如:

    var a;    // a 自动被赋值为 undefined

    (2)null——表示一个变量将来可能指向一个对象。

    一般用于主动释放指向对象的引用,例如:

    var emps = ['ss','nn'];
    emps = null;     // 释放指向数组的引用

    4、延伸——垃圾回收站

    它是专门释放对象内存的一个程序。

    •  (1)在底层,后台伴随当前程序同时运行;引擎会定时自动调用垃圾回收期;
    •  (2)总有一个对象不再被任何变量引用时,才释放。

    在 JavaScript 中有 6 种不同的数据类型:

    • string
    • number
    • boolean
    • object
    • function
    • symbol

    3 种对象类型:

    • Object
    • Date
    • Array

    2 个不包含任何值的数据类型:

    • null
    • undefined

    不同的数值转换为数字(Number), 字符串(String), 布尔值(Boolean):

    原始值转换为数字转换为字符串转换为布尔值
    false 0 "false" false
    true 1 "true" true
    0 0 "0" false
    1 1 "1" true
    "0" 0 "0" true
    "000" 0 "000" true
    "1" 1 "1" true
    NaN NaN "NaN" false
    Infinity Infinity "Infinity" true
    -Infinity -Infinity "-Infinity" true
    "" 0 "" false
    "20" 20 "20" true
    "Runoob" NaN "Runoob" true
    [ ] 0 "" true
    [20] 20 "20" true
    [10,20] NaN "10,20" true
    ["Runoob"] NaN "Runoob" true
    ["Runoob","Google"] NaN "Runoob,Google" true
    function(){} NaN "function(){}" true
    { } NaN "[object Object]" true
    null 0 "null" false
    undefined NaN "undefined" false

    正则表达式修饰符

    i         执行对大小写不敏感的匹配;

    g        执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

    m      执行多行匹配。

    方括号用于查找某个范围内的字符:

    [abc]      查找方括号之间的任何字符
    [0-9]      查找任何从0至9的数字
    (x|y)      查找任何以 | 分隔得选项
     

    加法与连接

    加法是两个数字相加。

    连接是两个字符串连接。

    JavaScript 的加法和连接都使用 + 运算符。

    x = 10+4;     //结果为14

    x=10+  "4" ;  //结果为104 

    使用变量相加结果也不一致:

    var x = 13;     var y = 7;
    var z = x + y;           // z 的结果为 20

    var x = 15;     var y = "5";
    var z = x + y;           // z 的结果为 "155"
     

    HTML 约束验证

    HTML5 新增了 HTML 表单的验证方式:约束验证(constraint validation)。

    约束验证是表单被提交时浏览器用来实现验证的一种算法。

    HTML 约束验证基于:

    • HTML 输入属性
    • CSS 伪类选择器
    • DOM 属性和方法

    约束验证 HTML 输入属性

    属性          描述

    disabled       规定输入的元素不可用

    max             规定输入元素的最大值

    min              规定输入元素的最小值

    pattern        规定输入的元素值的模式

    required      规定输入元素字段是必须的

    type            规定输入元素的类型

    约束验证 CSS 伪类选择器

    选择器       描述

    :disabled    选取属性为"disabled"属性的 input元素

    :invalid      选取无效的 input元素

    :optional   选择没有"required"属性的 input元素

    :required   选择有" required"属性的 input元素

    :valid          选取有效值的 input元素

    表单提交

    onsubmit="return validateForm()"这样写 ,为什么不是 onsubmit="validateForm()" 

    onsubmit="validateForm()" 能够调用 validateForm() 对表单进行验证,但是在验证不通过的情况下,并不能阻止表单提交。

    onsubmit="return validateForm()" 当验证不通过时,返回 false,可以阻止表单提交。

    为何?

    原来 onsubmit 属性就像是 <form> 这个 html 对象的一个方法名,其值(一字符串)就是其方法体,默认返回 true;

    onsubmit="return validateForm()"

    相当于:

    Form.prototype.onsubmit = function() {
        return validateForm()
    };

    这样复写了 onsubmit 的默认方法(默认返回 true),根据 validateForm() 的结果返回 true 或 false,当验证不通过时,返回 false,onsubmit="return false;" 阻止表单提交。

  • 相关阅读:
    一些大牛的博客推荐,排名不分先后
    HTTP响应状态码
    myeclipse连接mysql数据库详细步骤
    widget使用与生命周期
    ExcelUtil
    POI 数据toEXCEL
    Android异步下载图片并且缓存图片到本地
    判断网络状态
    调节屏幕亮度
    spring的基本知识
  • 原文地址:https://www.cnblogs.com/wdyjt/p/14130213.html
Copyright © 2020-2023  润新知