zoukankan      html  css  js  c++  java
  • 学过javascript还是觉得学的不扎实【总结】

    今天我写这篇文章,是因为被点名提问,好多东西虽然已经学过看过,但有没有真正的理解过???为了更好地学习,我写了这篇总结篇,当然此文只是文档。只是辅导作用。

    有人说javascript很难,但是这是h5开发基础语言,让我们一起跨过这个坎.....

    javascript --语言 :ECMAjavascript(语法)Dom和Bom组成
    web开发程序执行流程 :http请求 解析url路径 请求服务器

    http超文本传输协议

    两种javascript注释语法 : // /* */
    过多的javaScript注释会降低JavaScript的执行速度与加载速度,因此应在发布网站时,去掉多余的注
    释。

    一、数据类型:
    1、任何涉及NaN的操作(例如NaN/10)都会返回NaN
    2、NaN与任何值都不相等,包括NaN本身。 一旦在程序中出现:NaN。那么肯定进行了非法的运算操作。

    null值表示一个空对象指针,所以当你使用typeof操作符检测null值时会返回”object”
    typeof(null) //object

    alert(typeof(null))//object
    alert(typeof NaN)//number
    alert(Number(true)) true 表示1 false 表示0
    alert(parseInt("123.321blue")) //转换到出现无法转换的为止 blue /NAN
    var a = 11,b = '22';
    var c = a + b;
    console.log(c)//33 当一个是数字类型一个是字符串 js引擎会默认进行非算法计算,利用运算符 "+" 这个特性,可以很方便的将Number转换成string

    var a = 22,b = '11';
    var c = a - b;
    console.log(c)//11 与 "+" 相反,这里把b默认转为了数字型 11进行了算法计算,利用这个特性很方便的将string转为了Number
    var i = 1; j = ++i;
    console.log(j);


    二、表达式 ,是通过把常量,变量,函数等通过运算逻辑的方式连接起来。
    运算符常用到的有 :
    算法运算符 一般是 + - * / %(膜,用来取余)
    比较运算符 != == <= >= 一般用来判断
    逻辑运算符 ! 取反 && 并存关系 两个为true才为true || 一个为true就是true
    三元运算符 ? 是判断条件 : 前为true 后为false eg: 1<2 ? alert(1+“小于2”): alert(1+"
    大于2")
    void是一个操作符,没有返回值。用法格式 : void (0) 最常见的a href="#" 这种形式会整体刷新页
    面,href="javascript:void(0)" 则不会
    逗号运算符。
    声明变量用一个var,逗号连接‘,’ 推荐这么写。

    条件语句:
    if :判断语句,经常能用到,让javascript程序选择性的执行语句。

    switch 当只判断一条表达式时,首先使用switch。

    for循环语句 很常用 ,用到递增 、递减。

    return 返回值。

    三、函数 : 提高了代码的重用性(复用性)
    函数需要调用才能执行。
    函数又有作用域。在函数外部是全局变量,任何地方都可以使用。反正局部变量,只能在函数里执行。

    Math 对象:
    Math.random() 返回0-1之间的随机数
    随机数定义随机值 : Math.floor(Math.random()*(最大值-最小值+1)+最小值)

    String: 处理文本的字符串类型
    声明一个String
    .charAt() 返回所在的字符
    .charCodeAt() 返回所在的Unicode 编码
    String.fromCharCode() 返回 Unicode 编码
    .search() 返回与参数匹配的位置
    .replace() 替换的字符串
    .substring() 提取两个下标之间的字符 参数不能是负数 与slice()相似
    .substr() 第一个是开始下标 第二个为长度
    .match() 找到字符串内索引指定的值.split() 从指定地方分割成数组字符串
    .concat() 连接两个或者多个字符串

    var str=new String('lijiayang');
    alert(str.search('jia'))
    alert(str.substring(4))

    四、数组:键值对
    添加数据
    var a=[];
    a[0]='1';
    a[1]='2';
    也可以用a.push('3')
    删除 delete arr[0]
    pop() 删除最后一个元素
    join() 替换分隔符
    reverse() 元素顺序颠倒
    sort() 元素进行排序
    concat() 合并数组
    slice() 截取数组
    splice() 插入、删除、替换
    unshift() 在头部添加元素
    shift() 删除第一个元素

    var a=[];
    a[0]='1231';
    a[1]='213';
    console.log(a)

    for/in循环 用在循环数组和json

    五、Dom:HTML 文档中的所有内容都是节点(元素树)
    DOM 节点关系 : 上级(parent) 子级(children) 同级(sibling)
    1、parentNode    获取该节点的父节点
    2、childNodes    获取该节点的子节点数组     
    3、firstChild    获取该节点的第一个子节点     
    4、lastChild    获取该节点的最后一个子节点     
    5、nextSibling    获取该节点的下一个兄弟元素     
    6、previousSibling    获取该节点的上一个兄弟元素
    7、children 获取所有的子元素节点
    appendChild() 创建新节点
    createElement() //创建一个具体的元素
    createTextNode() //创建一个文本节点
    appendChild() 添加
    removeChild()移除
    replaceChild()替换
    insertBefore()插入
    cloneNode() 方法创建指定节点的精确拷贝
    createAttribute() 创建新的 Attr 节点

    offsetParent 只读属性 返回离当前元素最近的一个有定位属性的父节点offsetLeft 返回元素的X坐
    标offsetTop 返回元素的Y坐标scrollHeight 过去滚动高度
    scrollLeft 设置或获取可视窗口的左边之间的距离
    scrollTop 设置或获取可视窗口的顶端之间的距离
    Bom:
    六、Window : 表示浏览器窗口
    全局变量是 window 对象的属性。
    全局函数是 window 对象的方法。 window时间函数:
    setInterval()定时器
    setTimeout () 一次性定时器
    clearInteval() 清除定时器
    clearTimeout() 清除一次性定时器

    七、系统弹出框:
    alert()、confirm()、prompt()
    Location 对象:
    location.hostname 返回当前 URL 的主机名。
    location.pathname 返回当前 URL 的路径部分。
    location.protocol 返回当前 URL 的协议。
    location.href 返回完整的 URL。


    八、事件流:
    事件冒泡:
    从最具体的元素向上传播叫做事件冒泡
    事件捕获:
    由document文档流到最具体的元素为止
    事件委托:
    把父元素的事件赋予子元素
    事件绑定:
    给元素添加事件
    event对象:
    Event 对象代表事件的状态 事件通常与函数结合使用 键盘按键的状态、鼠标的位置、鼠标按钮的状态

    九、表单验证,登录信息一般都会用到验证:
    用/javascript/ 在字符串前后分别添加一个斜杠 ^表示开始 $结束

  • 相关阅读:
    LeetCode OJ--Best Time to Buy and Sell Stock II
    LeetCode OJ--Best Time to Buy and Sell Stock
    路飞学城Python-Day37(practise)
    路飞学城Python-Day37
    路飞学城Python-Day36
    路飞学城Python-Day35
    路飞学城Python-Day35
    “肥宅快乐数”-python暴力版
    路飞学城Python-Day34
    路飞学城Python-Day33
  • 原文地址:https://www.cnblogs.com/chw8/p/7133662.html
Copyright © 2011-2022 走看看