ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

我的ECMAscript 待续

2019-09-07 19:38:09  阅读:191  来源: 互联网

标签:待续 变量 对象 ECMAscript 数组 var new 函数


  1. ECMAscript
  2. 运行在客户端的脚本语言
  3. 计算机组成:1.硬件:输出设备 输入设备 CPU 硬盘(永久) 内存(临时)二进制数据
  4. 软件:系统:wd mc linux 软件 :qq之类
  5. 程序运行:数据放到硬盘到内存条到cpu
  6. 发展历史:布兰登。艾奇 1961年生,1995年十天完成js设计,网景公司原名livescript,后与sun合作改名js
  7. js作用:表单验证密码强度(最初),网页特效,游戏。。
  8. ECMAscript:规定了js的编程语法和基础核心,是所有浏览器共同遵循的一套标准
  9. 变量:一个装东西的容器,是程序在内存中申请一个用来存放数据的空间
  10. 10.标识符:自己命名,变量一般用名词,函数用动词。
  11. 变量使用:1.声明变量 2.给变量赋值 ,声明变量并赋值叫变量初始化
  12. 10.命名规范:字母,$,—,_,开头其他不行
  13. 数字型:number,在js中八进制前面加 0十六进制前面加0x
  14. 数字型最大值:number.max_value ,最小为min。无穷大:INfinity。
  15. 字符串转义字符:\n ,要加在引号里面
  16. ** 字符串的长度:length,检测长度**
  17. null+1=1,null+true=1.
  18. prompt:取过来的值为字符串类型
  19. 字面量:通过字面量可以判断为什么类型的值
  20. 数据类型的转换
  21. 转换为字符串:1. 变量。tostring,2 .String(变量),3. 利用+连接空字符串(隐式转换主要)
  22. 数组转换为字符串:arr.toString返回的数字之间用 , 分隔 , 而使用 join(‘这里可以输入任意符号分隔’)
  23. 字符串转换为数组split(‘分隔符’)这里的分隔符取决于字符串的分隔符要写一样
  24. 转换为数字:1 。parseInt(变量)得到整数 2。parseFloat(变量)得到小数。必须数字开头可以去掉后面的字母(120px)3。利用算数运算(/,*,-)进行隐式转换 4 .。大于号小于号也可以转换
  25. 布尔值:为false(‘’,0,nan,null,undefined)
  26. js中小数计算有误差
  27. 表达式:由数字或者运算符或者变量组合在一起的式子 1+1 为表达式 , 2为返回值。
  28. 比较运算符返回布尔值
  29. 运算符优先级:console.log ( 4 > = 6 || '人' ! = '阿凡达' && ! ( 12 * 2 == 144 ) && true ) ,true,&&的优先级要大于||。
  30. 流程控制语句:1.顺序,2.分支(多选一) ,3.循环。
  31. 分支语句:1.if(里面只有一个语句会被执行,主要用于范围的值,如成绩),2.switch(主要用于固定的值,直接跳到你效率更高)switch(表达式){case 值 : break ;default :(default类似else) //用表达式和case后面的值进行全等(===)比较,注意 case 值 后面的符号是冒号不是分号,}表达式写成变量这样就不会写死。没有break会一直向下执行。
  32. 循环语句:for循环用于计数重复执行代码:var num = prompt(‘输入班级总人数’);var sum = 0 ; var aver = 0 ; for (var i = 0 ; i < num ; i ++){var score = prompt ('请输入'+i+'成绩');//因为prompt返回的是字符串所以需要转换为数字 ,sum = sum + parseFloat(score);}.
  33. 双重for循环:第一个for为外层,里面的for,外面for执行一次,里面执行全部。
  34. . while循环:多用于验证码判断,错误就一直出现,和if 合作,相比for循环可以在表达式上进行判断。
  35. do。。while:循环先执行一次,再判断。
  36. **数组:可以存储各种类型的数据并且保存在一个变量中。**1.字面量2.new arr创建
  37. 遍历数组:把数组里面的内容从头到尾访问一遍,数组索引号从 0 开始所以在for循环中 var i = 0 ;数组里的元素是arr【i】,而不是单个 i ,单个 i 是计数。输出多个变量用逗号分开。
  38. 数组中求最大值:思想、假设第一个为最大值(max=arr【0】),利用for,if 和后面依次比较,结果最大的值再赋值给max。
  39. 筛选数组:巧用一个空数组的 1.newArr。length为0。2. new。push()
  40. 数组去重:核心 i f (arr【i】!=0(某个数)),newArr。length为0和筛选数组大致一样。
  41. 数组去重:可以代替上一个,核心思想:利用旧数组与新数组进行元素比较,利用indexOf()返回的值为-1就能知道新数组有没有,遍历旧数组,如果新数组没有就保存下来。
  42. 数组翻转:1.思想、让新数组第一个等于旧数组第四个。i= arr.length-1;i > = 0 ;i --;再赋值。2.arr.reverse(),可以直接翻转
  43. 冒泡排序:是一种算法两两比较,从大到小或者小到大,就是排序。 2. arr。sort()可以直接排序 3. 出现十位数则需要arr.sort(function(a,b){return a - b 升序 b-a 降序});
  44. 检测是否为数组:instanceof 运算符 2.Array.isArray(变量)h5新增只支持i9以上。
  45. 添加数组元素:*push()*后 ,*unshift()*前。直接添加元素,返回新数组长度。
  46. 删除数组元素:*pop()*后、shift() 前。括号内不用添加元素。console.log(pop())、返回删除的元素,
  47. 获取数组元素索引:indexOf(数组元素)只能返回第一个,找不到就返回 -1 。last
  48. 函数
  49. 函数就是封装(打包)一个可以被调用执行的代码块,可以让代码重复执行。不调用不执行。函数名()
  50. 函数的返回值return:返回return后面的结果给函数,然后调用函数。、、在开发中用变量接收函数返回的结果,然后再输出变量。
  51. return之后的代码语句不会被执行。return num1,num2;只会返回最后一个值num2,解决方法return【num1,num1+num2】利用数组解决
  52. 函数如果没有return返回undefined
  53. 函数中arguments:是函数中一个内置对象,存储传递来的实参。伪数组:1.具有length 2.按照索引存储 3.没有数组push()、pop()的方法。可以省去形参的添加。只有函数才有arguments
  54. 函数可以相互调用
  55. 函数声明方式有命名函数和函数表达式匿名函数(用变量名) ,
  56. 作用域:在某个范围起作用,减少命名冲突,分为全局和局部(函数内部)函数形参看做局部变量,局部变量执行后就销毁,全局需要关闭网页才结束占用资源内存。
  57. 作用域链、;就是从内部函数变量往外面找,从而产生类似链子的结构
  58. js预解析:变量提升
  59. js引擎运行js,分为两步1.预解析、2.代码执行 先把变量提升到当前的作用域并且不赋值函数提升只要不是用 var 变量名命名的函数就不会报错,var a = b = c =1>>var a = 1 ; b = 1 ; c = 1;这里的b、c就变成了全局变量
  60. 对象是一个具体的事物,要具体不要泛指,由属性(事物的特征。名词)和方法(事物的行为可以做什么事。动词)组成,对象更加明了
  61. 键值对:属性(属性名,属性值),方法:匿名函数
  62. 调用函数方法:1.对象名.属性名、 2. 对象名【‘属性名’】 这里属性名必须加上引号、 3.对象名.方法()
  63. 构造函数:使用构造函数是因为可以把那些多个属性和方法相同的对象,统一抽象出来封装到一个函数里面。function Star(){this.name=形参;} 。var obj = new Star(实参)//调用函数返回的就是一个对象
  64. 1.构造函数首字母大写彰显不同 。2.构造函数不需要return就可以返回结果。new 函数名就是创建了一个对象 3.构造函数泛指某一大类。 4. 利用构造函数创建对象的过程叫对象的实例(上面的obj可以叫对象也可以叫实例)var obj =new Star()这就是一个对象实例。。。。var arr = new Array()这个为数组对象,arr为对象实例。后面创建一个array对象,
  65. new关键字 在构造函数中作用:1.在内存中创建了一个空的对象, 2. this就会指向刚才创建的空对象 3.执行构造函数里面的代码,给创建的空对象添加属性和方法,4.返回这个对象,所以不需要return返回函数
  66. 遍历对象:不用for,改用for。。in进行遍历for(var k in obj)。
  67. 构造函数需要new,内置对象不需用。
  68. 内置对象:顾名思义内置对象为js自带的,可以直接使用。可以快速开发
  69. mdn文档查询
  70. 常用内置对象: 1 . Math.max()可以求出最大值 ,2. 绝对值Math.abs() 3. 往下取整Math.floor() 4 .往上取整Math.cell() 5 .Math.round()四舍五入,往大了取整负数也是往大取整。 6 . Math.random()返回一个随机数,括号内不跟参数,函数形参一个最大数,一个最小数。
  71. Date日期对象的使用:是一个构造函数。必须使用new来调用,如果没有参数返回当前系统的当前时间function getTime() { var time = new Date(); var h = time.getHours(); h = h > 10 ? h : '0' + h;//小于十在前面加0.。。秒杀 var f = time.getMinutes() f = f > 10 ? f : '0' + f; var m = getSeconds(); m = m > 10 ? m : '0' + m; return h + ':' + f + ':' + m; } console.log(getTime())
  72. 时间戳:Date.now()h5 获得毫秒数,永远不会重复。可以直接输出不用new。另一种方法,var nowDate = + new Date()
  73. ***基本包装类型:***简单数据类型包装成复杂类型,为了简单数据类型也可以使用对象里面的属性。(strig、number、boolean)
  74. 字符串对象:,字符串本身 不可被改变赋值一个新的只是改变了地址
  75. 根据字符返回位置:利用变量.indexOf(‘查找的字符’,【从第几个开始查找】)
  76. 根据位置取出字符:1.变量.charAt(索引号)2. charCodeAt(索引号)返回索引号的字符ASCII ,目的判断用户按了那个键。3.h5新增,arr【索引号】。
  77. 拼接和截取字符串:concat可以连接两个字符串类似于+号,第二个**substr(‘截取的起始位置)’,‘截取几个字符串’)**str.substr(2,2)索引号2,和2个字符。
  78. 替换字符和字符转数组:replace(‘a’,‘b’)把a替换为b。
  79. 栈:简单数据类型,存放的是值,var a = 10; b = a ;这里只是把a的值赋值给了b,后面a变化b也不会变化,
  80. 堆:复杂数据类型可以用new创建,在栈里存放地址(16进制),这个地址指向堆里面。var a = 10 ;b = a ;这里是把a的地址给了b,两人在栈共用一个地址,所以指向堆里面的内容也是一样,修改其中一个另一个都会发生改变。如果再次给a赋值就相当于重新开启了另一个地址。

标签:待续,变量,对象,ECMAscript,数组,var,new,函数
来源: https://blog.csdn.net/qq_45465689/article/details/100515842

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有