深入浅出js

    xiaoxiao2021-03-25  116

    1.交互,用户点击之后给出的反应,让浏览器能听取我们的,处理输入数据,相应我们最渴望得到的结果 

    2.数据,存储数据,呈现数据,找出数据

    3.<script>本身为HTML标签,标签内的代码时脚本语言,type 定义时哪一种脚本语言,最好写在<head>里

    4.js时解释行语言,代码由浏览器解释

    5.alert()  prompt()

    6.事件由用户触发,最终还是来自浏览器

    7.onload()

    8.localtion.reload()

    9.document.body.clientHeight/clientWidth

    10.数据分为变量和常量,常量必须初始化,变量最好初始化

    常量命名const 全部大写,总是相同

    变量命名 小驼峰,可以以字母,下划线,美元符号开头;第一个字符之后可以接字母数字下划线美元符号  var numDonut

    函数命名小驼峰 getDonut

    对象命名大驼峰 Donut

    标识符和人的名字一样应该具有描述型,一个脚本力的标识符不能相同

    11.数据类型 text(string),number,boolean,undefined

    12.NaN表示没有找到应为数字的变量值时

    13.parseInt  parseFloat将文本转换成数字

    14.getElementById().value出来的值的类型是string类型

    15.setTimeout( ,2000) 2s后执行

    setInterval( ,2000) 每隔2s就会执行

    clearInterval

    16.浏览器关闭时所有变量会被销毁,浏览器失忆症需要cookie

    writeCookie("读取cookie时的变量名",变量值,时间); 没有时间的cookie会随浏览器的关闭而关闭

    readCookie

    绝大多数浏览器用硬盘存储用户cookie

    只有在指定的网页里,cookie名称才需要unique.

    cookie存储时会依赖他们创建的网页加上间隔,其中包含网页所在的网站信息

    不同浏览器不能共享cookie数据,各个浏览器有自己独立的cookie数据库

    cookie只适合存储相对较少的文本数据(少于4KB)

    不管怎么创建cookie都有时间限制,永久数据还是存在服务器比较好

    cookie不能访问用户的硬盘或散布病毒,但可以存储网页上的个人数据

    cookieEnabled是js对象navigator提供的,检查cookie支持的特性

    cookie属于非安全的存储场所,做好不要把敏感数据存在cookie里

    17.onresize()浏览器改变大小时的事件

    18.决策 其实就是做出选择 简单if 有条件的运行js代码

    同时做很多件事情 复合语句 需要放在花括号里

    决策树 if嵌套  我们可以踏上几条路,体验不同故事 火柴人冒险

    if(message!=" ") alert(message)

    比较值用==     =是用来赋值的

    只要不是 0  null  undefined  " " 任何值都会被解读为true

    注释//          /**/

    switch case break default

    19.作用域掌控变量的生命周期

    局部变量 函数运行时 变量存活,函数结束时它被摧毁

    一般情况下都创建局部变量,只有局部变量不能使用的时候才创建全局变量

    脚本层次的东西和脚本生命周期一样,能被任何网页内的代码访问,是全局的

    20.数组存储方式以键值存储,需要以键访问值,键通常又称为索引

    数组中的数据类型可以不相同

    二维数组让我们以表格结构存储数据的行和列,访问二维数组必须制定行和列,嵌套循环用来处理二维数组的数据,二维数组每一行的长度最好相同

    21.break强制停止循环  continue强制跳过本次循环,进入下一轮循环这两个关键词用来调整循环的控制

    return 提供了返回函数数据和控制函数执行流程

    22.简化代码 观察自变量 定义自变量

    23.引用函数和调用函数区别在后边有没有()

    函数引用不是代码本身,而是指向存储代码的位置,效率高

    函数应用能像变量般指派函数

    回调函数让外来客有个访问脚本的路径

    浏览器调用回调函数,回调函数再调用函数,以响应脚本外的事情,

    函数字面量时没有名字的函数主体,函数只被调用一次,而不是被你的程序代码调用

    .οnclick=function(evt){      }

    24.function shouIt(theForm){

    theForm["code"].value

    }

    name的用法和getElementById的用法是一样的

    25.关键字this代表该元素的对象

    26.强大的内置工具---正则表达式

    元字符 用于连接字母和数字,创建高度描述性的文本模式

    所有正则表达式都用斜线围起来 /      /

    .匹配任何字符

    \s空格 包含空白字符 tab换行符 return

    \d匹配任何数字字符

    \w 匹配任何字母数字

    $模式需为字符串的最后一个字符

    ^字符串需要以模式起始

    {}限定符

    *出现0次或者多次

    +1次或者多次

    ?0次或以此

    ()集合字符或者元字符称为子模式

    /^\d/ 字符串起始处需要有一个数字

    /cat$/ 字符串需要以cat结尾

    /\d\d$/ 字符串结尾处要有两个数字

    /\d{5}$/字符串需要以5个数字结尾

    /\d{2}|\d{4}$/ 字符串结尾处要有两个数字或四个字符

    /d[iu]g/     dig dug两个字符串都匹配模式

    正则表达式不是字符串,是对字符串的描述

    单纯设计用于匹配字符串 不能用于其他类型的数据上

    正则表达式以对象表现于js中

    js里的正则表达式由RegExp对象表示

    验证数据的关键 test()方法

    regex.test(inputField.value)

    27.dom  343

    nodeValue nodeType childNodes firstChild lastChild

    改变节点文本三步骤

    移除所有节点 removeChild

    创建文本节点 createTextNode

    appendChild

    节点类型 文本节点text返回3  element返回1

    .className

    28.对象结合数据和行为

    store 和 act

    变量是对象的特性 函数称为对象的方法

    用点号引用对象成员

    我们都在尽量限制数据暴漏的程度,只让真正需要的代码接触数据,这样可以避免数据不小心被其他代码改变

    标准的js对象 Array  Date  String

    var invitation = new Invitation{'who','where','when','what'}

    function Invitation(who,where,when,what){

    this.who = who;//关键词this区分对象属性和一般变量

    }

    this指出对象所有权 this.date

    Math.round((date1-date2)/1000*60*60*24 )

    new Date 运算完  toString

    getMonth 0--11

    getDate 1--31

    数组排序 num.sort(function compare(x,y){ return x-y})

    每个对象都有toString 方法

    charAt() 寻找特定字符在字符串中的位置

    js把每个字符串都当作对象 方便计算长度和搜索子字符串的

    round()四舍五入  floor()无条件删除  ceil()无条件进位  random   min  max  abs

    Math方法是静态方法和常量的集合 所以不需要new

    使用prototype 可以创建类拥有的方法  存储一次 运行多次 让方法存储与类内,以免实例不必要的一只复制程序代码  可以提高效率

    Blog.prototype.toHTML = function(){}

    this..toHTML = function(){}

    类特性在构造函数外 Blog.prototype.signature

    实例特性在构造函数内建立 this.date

    未定义表示引用了没有值的变量

    undeifined 和null  在boolean中都被转换为false

    当引号不是引号 使用转义符 /   It/'s524

    29.js三虫客

    运行时错误

    语法错误

    逻辑错误  局部变量掩盖全局变量  ==写成=     相同名字的局部变量拥有最高优先权利,任何函数内的变化不会带到函数外

    alert  控制台console  注释隐藏代码片段

    确定括号成对出现

    确定大括号成对出现

    标识符名称一定要写对

    小心使用引号和撇号

    不要误用== 成=

    确定对象在被访问前已经创建

    不要给局部变量喝全局变量起相同名字

    30.xml 可以用自定义标签显示数据

    xml+html=xhtml

    xhtml要求所有标签成对出现,所有属性用引号围起来

    网页被传输到浏览器之前都已xml存储

    ajax  0-4  未初始 开启  已传送  接收中 已载入

    abort() 取消ajax的时候

    open()准备请求 制定请求的细节

    send()传送请求 交给服务器处理

    readyState

    status

    onreadystatechange

    responseXML

    responseText

    get对服务器没有影响

    post会给服务器存储数据 并且动态刷新表单

    转载请注明原文地址: https://ju.6miu.com/read-23990.html

    最新回复(0)