行为语言   

也是严格区分大小写的,可以在控制台console.log打印输出的东西

严格检查模式strict

  ’use strict’    放在第一行 

  es6之后       局部变量 let定义

1.什么是JavaScript?

  是一门世界上最流行的脚本语言

2.引用script

  里面的注释用//

 alert("helloWord");弹窗

  内部引用和style一样 

  <script src=”../js/helloWord.js”></script>外部引用  

3.数据类型  :typeof   判断类型

  js不区分小数和整数都用number表示 :整数、浮点数、科学计数法、负数、NaN(not a number),Infinnnity(表示无限大)

  字符串  ”     “”

  布尔值 :true   false

  逻辑运算   &&   ||      !    

  比较运算 =赋值      ==等于(类型不一样 ,值一样,也会判断true)    ===绝对等于 (类型一样 ,值一样 ,为  true)

null:空     undefined未定义

  数组    var  arr   =  [1,2,3,4,”sada”,true,null ]    超出数组下标 会报undefined 

  对象用 {}         var   person {name:”songyue”, age:16}    里面是 键值对的写法 ,每一个属性用 ,隔开   

数据类型详解  

字符串 :正常字符串用 单双引号  包裹          parseInt转换字符串     

  trim(去除字符串亲啊后的空白字符)   

  `注意转义字符 \     

   多行字符串编写用tab上面esc下面那个按键“

  模板字符串 例如      let name =’songyue’   console.log(‘你好呀,&{name}’)

  字符串长度   .length    也可以打印下标   []

  字符串不可变

  大小写转换

  根据字符找脚标student.indexOf(”t”)

  subString方法[)  左闭右开   

数组:1.var arr = newArray(1,2,3)          2.var arr=[1,2,3]

  push:添加

  可以包含任意的数据类型

  字符串长度   .length 

  可变可以替换     长度可以改变 后面自动补充undefind

  根据字符找脚标student.indexOf(”t”)

  slice截取数组的 一部分 类似于 subString方法[)  左闭右开   

  push压入元素到尾部   pop弹出最后一个元素     unshift压入元素到头部          shift弹出头部的一个元素 

  排序 sort

  元素反转  reverse相当于顺序翻转过来 

  concat添加多个,并没有修改数组会返回一个新的数组

  连接符join  打印拼接数组使用特定的字符串拼接

  多维数组

对象类型

  若干个键值对,所有的键都是字符串,值是 任意对象,例如 

    vsr person  = {

        name:”宋岳”,

        age:18, 

        score:0

        }

  对象赋值      对象  .属性名 =

  使用一个不存在的对象属性不会报错

  动态的删除属性 delete  person.name

  动态地添加person.haha=”哈哈 “

  判断属性值是否在这个对象中    “age”   in     person

  判断  一个属性是否属于自身拥有的   hasOwnProperty

流程控制:

  if判断 

  while  

  for

Map和Set:es6的新特性 

  map:

     var map = new Map([[‘songyue’,100],[‘miaojiale’,80],[‘jiamingyu’,60]]);

  let songyue = map.get("songyue");set  delete
  console.log(songyue)

  Set:

    var set = new Set([1,2,3,4,5,4,4,4];

    set.add(6)

    set.delete(4)
通过for...of实现:
  
for (var mapElement of map) {
    console.log(mapElement)
    }

函数 :
  定义方式一 :
    function abs(x){
     return x;
    }
  定义方式二:
    
var abs = function (x){
      return x;
    }
方法函数可以传任意参数,也可以不传参数
arguments是 一个JS免费赠送的关键字,代表传递进来的所有参数,是一个数组,包含所有的参数 ,想用多余的参数进行操作时,需要排除已经传过来的
所以就有了rest获取 除了 已经定义的参数之外的所有参数,必须写在最后面 前面加上...
  
function aaa(a,b,...rest){
    console.log("a"+a)
    console.log("b"+b)
    console.log(rest)
    }

变量的作用域:
  在函数体中声明,在函数外不能用
  两个函数用了同样的参数只要在函数内部就不冲突
  内不可以访问外部成员,反之不行
假设嵌套方法里面都用了同一个参数 ,他会首先在自己的方法里面找这个参数,如果有就执行
养成规范,所有的变量都定义在函数的头部
全局变量定义在外部
函数也可以视作变量如果在函数中没有找到 就会向外查找,如果在全局作用域都没找到就会报错,引用异常
由于所有的全局变量都会绑定到 windows上如果不同的js文件,使用了相同的 全局变量就会冲突
可以把自己的代码全部放入 自己定义的唯一空间名字中,降低全局命名冲突的问题
  
var space={};
   space.name="狂神";
space.add = function(a,b){return a+b} 方法也一样
let关键字是局部变量只在代码块中有用,不能重复
const常量
方法:设置一个对象,里面有方法,this和java一样如果方法在外面就是默认指向调用这个方法的
  
var sy = {
    name:"宋岳",
    birth:2020,
    age:function (){
      let year = new Date().getFullYear();
      return year-this.birth }}
apply可以控制this的指向  方法里面有this 调用   方法名.apply(指定的对像,参数)
内部对象:
  Data时间
JSON:
  在javaScript中一切皆为对象,任何js支持的类型都可以用JSON来表示
  格式
    对象都用{}
    数组都用[]
    多有的键值对都用 key:value
  用法:
    

面向对象编程:

  类是对象的模板,对象是类的具体实例

  继承的一种方法,proto这样xiaoming就有了user的所有属性


   

 class继承  :继承之后实例化

  

 

操作BOM对象:浏览器对象模型  

  windows代表浏览器窗口

  screen代表全屏幕属性

  location代表当前页面的URL信息 

      reload()刷新

      .assign(写网址)设置新的定位

  document代表当前的页面  html DOM文档树

      .getElementById等等   

      .cookie

  history:back()后退        forward()前进

  confim()弹窗       定时器setInterval循环执行       setTimeout(方法,时间毫秒)调用一次

 

操作DOM对象:文档对象模型

  核心 :整个浏览器就是一个Dom树形结构

    更新:更新DOM节点                            

      innerText:     修改文本的值

      innerHTML     会解析HTML文本标签

      .style方法  

        

    遍历DOM节点:得到DOM节点

    删除:删除一个DOM节点

      步骤:先获取父节点,通过父节点 删除自己            子节点 . parentElement获取父节点         父节点 . removeChild(子节点 或者father.childern[下标]  )

    添加 :添加一个DOM节点

      append追加,有appendChild追加子元素

      创建新的节点document.createElement(标签名字 )

      setAttribute(’id’,’name’);直接设置标签里面的属性 

  想要操作DOM节点,就需要先获取到  方法 document .getElementsByid,class等等

    father.children获取父节点下的所有子节点  还有第一、第二、上一个 、下一个 等 

操作表单  :目的  提交信息 

   文本框  text

  下拉框  select  

  单选框  radio  

  多选框   checkbox

  隐藏域  hidden  

  密码框   password

 提交表单:form里面 onsubmit(return   方法)如果方法里面return  false就不能提交过去

    md5    <scriptsrc=”https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js”></script>

 

jquery库,里面有大量的javascrpt函数

  公式:$(选择器).事件(这里写方法):例如:

    

鼠标事件:mouseDown按下鼠标   mouseMove移动鼠标

网页准备就绪的jquery简写 

例子:

jquery操作DOM元素 :

  选中那个标签之后,  .text()获得值,()括号里面有值就会替换掉,    .html一样的效果

     css操作  .css({“color”,”red”})如果再有的话 就在 大括号里面继续写

     元素的隐藏和显示   .show()   .hide()

正则表达式:test(字符串)方法测试是否符合

  var reg = /^\w{6,12}$/

^:表示开始      $表示结束           []代表某个范围内的单个字符比[0,9]             .表示任意单个字符除了换行和行结束        \w 代表单词字符 字母数字下划线相当于[A-Za-z0-9_]          \d代表数字字符[0,9]

量词  :  +至少有一个    *零个或者多个   ?零个或者一个     {x}x个       {m,}至少m个                 {m,n}至少m个最多N个          

版权声明:本文为songyuejava原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/songyuejava/p/16720753.html