zoukankan      html  css  js  c++  java
  • 再次遇到 js报错: expected expression, get ')' 或 get ';', '<'等错误?

    很多时候: 其实不是因为 括号) 分号 或者 < 的问题,
    而是 比如变量 的 = 等号 没有值;
    特别可能的是: 少了一个 '}' 也就是 语句 没有 闭合完等等问题

    也就是 不要去 纠结 它报的 那个错, 往往 它说的那个地方是没有问题的! 而是其他 邻近地方的 问题!!

    --- js中 字符串 相等不等 的判断, 就是用 == 和 !== 或用 === !=== 恒等 来比较, 不用函数的

    ==============

    mysql中如何添加和删除 unique约束?

    • 添加时可以在字段 后面直接加 unique来修饰: ..... , name varchar(50) not null unique, ...
      也可以在最后用, unique key name(name) 来说明;
    • 删除唯一性约束: alter table tbl_name drop index unique_key_name` 注意 删除时的关键字时 index , 不是unique key 把唯一性约束看作是 index 索引了.
    • 为了保证数据的完整性, 最好显式的规定 每个字段 不为空: not null,因为很多字符串 字段的默认值是 null, default null这样不好!

    =================================================================

    关于firefox调试器 显示的元素的宽度?

    • computed上的 黄色/褐色/紫色 分别表示的是: margin, border, padding. 它们是用一个环形来表示的, 即使 这个对应的值是0. 也是环形, 便于写对应的数值;
    • 而inspector上, 可以直接让鼠标指向, 上面 的小竖线 的右边 就直接显示了 该元素的宽度 和高度. 可以直接获得, 如果只是看元素的宽度*高度, 就不必到 computed那里看了,
      除非要看详细的 margin/border/padding的时候

    ====================================================
    js代码中 写不写分号并不是 强制规定的. 比如在函数的最后一个语句, 在return, break等语句后就可以不加

    • 你可以不写分号 js会帮你加上分号, 但是它不保证 一定给你添加正确了.
      -所以最好还是写上分号.

    js代码执行顺序?

    第一, JavaScript中的代码块是指由script标签分割的代码段。
    JS是按照代码块来进行编译和执行的,代码块间相互独立,但变量和方法共享(但是 由于js是动态解释执行的, 是一个代码块一个代码块按顺序来加载执行的, 所以如果有多个代码块 scipt1, script2, 那么就是先将 script1代码块 加载到内存(注意这时并不会加载script2代码块), 预编译+执行, script1完了之后, 才去加载第二个代码块script2, 预编译+执行. 所以 只能是后面 的代码块共享 前面的代码块中的 变量或函数. 前面的代码块共享不到后面的代码块中的变量或函数的.

    第二, js的执行分为 预编译期和执行期: 预编译时先将 (仅限于将本代码块内)的 声明式函数 和 var声明式变量提取出来, 做声明, 此时只是声明,变量还没有进行初始化和赋值的, 然后才是进行执行. 所以 如果 在同一个代码块内, 变量赋值语句之前使用该变量, 将不会报错但是该变量的值将会被认为是 undefined. (undefined表示变量已经被声明,但是还没有被赋值)

    第三, 关于代码出错:

    • 函数的错误,仅限于函数内部, 这个错误不会影响到 其他函数 或其他函数外的代码, 除非 一个函数内调用了其他函数, 才会导致其他函数的调用受影响
    • 在受影响区建内, 比如函数内部, 或者 script代码块内, js的代码语句一旦 错误(当然是 已经 经过 预编译后, 在执行的时候了), 那么这条语句后面的任何内容都不会被执行 , 会跳出 当前代码块的全部: 包括 后面语句的任何语句, 任何内容,好像这些都不存在了一样, 那么 变量赋值语句不执行, 变量也不会赋值了(后面代码块虽然可以共享该变量的声明,但是值就是undefined了), 而且 后面的语句中的错误 也不会报告了...
    <script1 type="text/javascript">
          alert(str);//因为没有定义str,所以浏览器会出错,下面的不能运行
          alert("我是代码块一");//没有运行到这里,
          var test = "我是代码块一变量"; 这里不会test被赋值,所以后面共享的只是test的声明
    /script>
    
    <script2 type="text/javascript">
          alert("我是代码块二"); //这里有运行到
          alert(test); //弹出"undefined"
    /script>
    
    • 上面的代码中代码块一中运行报错,但不影响代码块二的执行,这就是代码块间的独立性,一个代码块只的错误不会影响到另一个代码块. 而代码块二中能调用到代码一中的变量,则是块间共享性

    • JS中的函数定义分为两种:声明式函数与赋值式函数(匿名函数)。 声明式函数与赋值式函数的区别在于:在JS的预编译期,声明式函数将会先被提取出来,然后才按顺序执行js代码

    对js的事件处理函数来说,

    • 只有 jquery的click()之类的函数和 addEventListener函数中 才有回调函数, 也才有事件event的参数. 在 元素的onclick函数中, 是没有办法拿到 event事件参数的.
    • 每个元素从上到下会经历 两次 事件(一个是捕获的 向下的事件,一个是 冒泡的向上的事件 ), 两个事件流 是独立的, 互不干扰的. 你都可以得到并进行处理的!
      ..... 要得到 向下的 捕获事件 必须使用 addEventListener 方法.

    首先,无论是冒泡事件还是捕获事件,元素都会先执行捕获阶段。
    从上往下,如有捕获事件,则执行;一直向下到目标元素后,从目标元素开始向上执行冒泡元素,
    即第三个参数为true表示捕获阶段调用事件处理程序,如果是false则是冒泡阶段调用事件处理程序。(在向上执行过程中,已经执行过的捕获事件不再执行,只执行冒泡事件。) 原文链接:https://blog.csdn.net/u013217071/article/details/77613706

    md 的引用: 一个大于符号就行 , 可以有多行, 不需要每一行都用 >, 只要这些行中间没有空行就行, 那么它们就在同一个 引用段落中.

  • 相关阅读:
    springboot springcloud zuul 过滤器
    springboot springcloud eureka 熔断器
    javaweb servlet filter
    maven nexus 搭建私服(二)
    springboot springcloud zuul 网关入门
    springboot springcloud 配置中心
    springboot springcloud eureka 入门
    java rabbitmq
    java jvm调优
    maven nexus 搭建私服(一)
  • 原文地址:https://www.cnblogs.com/bkylee/p/12386491.html
Copyright © 2011-2022 走看看