js理论

对象定义
特征和行为


属性的分类
1:可以枚举
2:不可以枚举


属性的遍历
1:for    in  操作自身和继承的可枚举
2:objec  keys   操作的是自身的
3:object getwnproperty    操作自身不可枚举的

语句流程控制结构
1.条件控制
     1.if...else
           1.存在比较运算符
           2.两条分支
           3.多层嵌套 else if
     2.swich..case
           1.不存在,只有匹配
           2.多分支
           3.关键字break
      
2.循环控制
      初始化   比较    自加
    1.for..do
    2.while..do
    3.do..while
                 至少执行一次
3.异常控制
 try..catch.finally
   允许代码有异常,但是可以继续向下执行
   
4.break和continue的区别
    break可以用在循环里,也可以在分支里面
    continue   循环里

一,js基础
1.Js全称
    全称:javascript,中文是java脚本的意思
2.Js由来
    在互联网刚兴起的时候,网络速度比较慢,而验证又是放在服务器端的,所以耗时较长,所以用户体验度非常差。
    为了解决这一难题,网景公司发明了livescript。livescript主要把表单验证功能从后台提升到了前端,
    因为不依赖网络,所以用户体验比较好。但是由于知名度比较差,所以,知道的人很少。
    后来由于sun公司的java语言一飞冲天,爆红编程世界,为了跟风,博取知名度,网景公司把livescript
   改成javascript.
   后来微软眼红网景公司的成就,就发明了jscript。但是正因为此,导致了js的标准不同,所以给各大浏览器厂家带来了很大的麻烦。
   为了有一个统一标准,js被提交到一个ecma组织,也正因为此,后来的js都是采用ecma标准(ECMAScript)
3.Js作用
    1.增强页面的趣味性
    2.响应用户的行为
4.Js特点
           弱解释脚本语言,可以被浏览器直接解析
5.Js输出
    1.控制台输出  console.log("XXX")    不会堆文档造成影响
    1.文档中输出 document.write("xxxx")  会对文档造成影响
6.Js书写位置
    1.标签内
         1.普通标签
         2.超链接标签       执行脚本前需要有javascript:
    2.script标签内部
    3.外部js文件中    
         现在js文件中写脚本,再在网页中引入脚本文件
7.浏览器简介
    常见的浏览器:google,360,firefox,IE等
    浏览器组成
      1.内核           渲染网页
      2.js引擎     解析脚本
8.进制转换
  1.二进制表示: 0101   数字没有大于一的
  2.八进制表示     0123   便于和十进制区分 八进制前面加0
  3.十六进制         0x123  在十六进制前一定要加0x

二,变量
1.标识符定义
   在js中标识符就是指名字,比如函数名,变量名,属性名等。
   因为一个人的名字就代表了一个人,从而可以认为名字就是一个人的标志。
2.Js变量的定义
       1.变量是数据的存储空间
       2.变量有两部分组成:变量名+储存的数据
3.Js变量的数据类型
   string boolean  number undefined  null object
4.Js变量的命名规则
   1.字母数字下划线¥$组成
   2.首字母不能是数字
   3.可读性和语义性要好
   4.建议使用驼峰命名
5.Js变量的声明方式
       变量的声明主要是用来限制存储的数据,不是同一类型的数据不让存储进去。
   声明方式有三种
     1.var  存在变量提升            重新赋值会导致改变
     2.let  不存在变量提升        重新赋值会导致改变
     3.const  不存在变量提升        不会导致改变
6.Js变量的分类
    1.全局
         1.写在函数以外的变量
         2.可以在脚本任何位置访问
    2.局部
       1.写在函数以内
       2.只能在当前函数内使用
7.Js数据类型的存储
  1.堆  引用类型对象和引用
  2.栈  变量和变量值以及对象的引用
8.Js变量的提升
              把变量提升到脚本的最顶部
9.Js注释
   1.种类
       1.单行  //
       2.多行    /**/
   2.作用
     1.增强代码的可读性
   3.特点
      不被浏览器解析

四.函数
number() string()
1.函数的定义
        具有某种特定功能的语句块
        
2.函数的组成
   关键字fucntion+函数名()+语句块{}
  
3.函数的执行
  函数名()
4.函数的分类
      有名函数  可以提升
      无名函数   不可以
   
5.箭头函数
   形如:var sum=()=>{console.log("xxx")}
   1.可以省略关键字function
   2.绑定上下文关系  this
   3.可以用在回调函数中
6.嵌套函数
    在函数里面嵌套另外一个函数的函数就是嵌套函数
   function test(){}
   function test2(){
         test();
   }
7.递归函数
    函数自己调用本身的函数就是递归函数
    function test(){
        return test();
    }
8.立即执行函数
     再加载的时候就会执行的函数就是立即之形函数
  种类
   1.(function(){})()
   1.!function(){}()
Arguments以及…res剩余参数和默认参数
arguments是一个伪数组,是一个对象。
   1.length:获得到传递到函数内的参数个数
   2.constructor:获取到构造函数
默认参数:
   如果有传入的参数就使用传入的参数,否则使用默认的参数
   
剩余参数一定要有...,它也是一个对象,真数组
1.length  获得剩余参数个数
==========================
string()和.tostring()
string(arg)里面还可以传递一个参数,表示进制


null和undefined没有tostring()方法
Boolean():转化布尔型
除了空字符串,其它字符串都是true
除了数字0,其他数字都是true
null和undefined转false,而对象转true
parseInt()
parseInt(arg):转化成十进制
parseFloat()
number()


+,首先是拼接,其次是加法
-,减法
对于整数型的字符串  转化正常
对于数字+字符的字符串    number不正常
对于正常的字符串  都是NAN




true转数字 ,parSeint,parseFLoat是NAN  ,number 是1
false转数字 ,parSeint,parseFLoat是NAN  ,number 是0
undefined转数字 ,parSeint,parseFLoat,number都是NAN
null转数字 ,parSeint,parseFLoat,是NAN  number   0
object转数字 ,parSeint,parseFLoat,是NAN  number   NAN

         string  boolean   number  undefined  null  object




string            正常                正常                 不正常                  不正常          正常


boolean   




number
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值