javaScript基础

☞ 对象其他部分 [理解]

  • 自定义构造函数创建对象[掌握]

    //继续简化 自定义构造函数
    function People(uName, uAge) {this.uName = uName;this.uAge = uAge;
    }
    // 如何通过自定义构造函数创建对象?
    var zs = new People('张三', 20);
    console.log(zs);
    
    • 注意事项:

      1. 自定义构造函数的命名规则要遵守帕斯卡命名法(单词的首字母大写)
  • this关键字

    this 关键字到底指的是谁?
    口诀: 谁调用函数(构造函数), this 就指向谁(就是谁)普通函数中的 this 关键字指向的就是 window对象
    function fn() {console.log(this);
    }
    window.fn();   // 因为我们平时调用函数时候, window对象省略在对象的方法中 this 关键字指向的就是 当前这个对象
    var  obj = {//方法eat:function() {console.log(this);  // 指向的是当前对象}
    }obj.eat();
    
  • new关键字执行过程

    1. 先执行 new 关键 ----> 内存中开辟一个空间(空对象)
    2. 将用户的实参信息通过形参赋值给 空对象中 this 关键字
    3. 给 this 关键字 赋值
    4. 将this 关键字 最后指向 创建的对象
  • 遍历对象[掌握]

    语法:
    for(键  in  对象) {对象[键];
    }例如:var obj = {uname: 'asd',age : 34,uheight: 180,color: 'red',weight: 70}// key 是一个变量, 这个变量中保存的就是 obj 对象中的所有属性for(key in obj) {//获取对象的值console.log('属性名:' +key + '对应的值:' + obj[key]);}
  • instanceof关键字[以了解为主]

    instanceof :  判断当前对象 是否是 某个构造函数创建的  (判断孩子是不是某个人的骨肉)
    typeof :  获取数据类型
    

  • 简单数据类型在内存中的存储方式

    简单数据类型,在内存的栈上保存的, 栈区中保存的就是变量的一个具体的值
    
  • 复杂数据类型在内存中的存储方式

    复杂数据类型(对象), 在内存的堆上保存的, 复杂数据类型在内存中保存的是一个地址
    

 function Person ( name, age ) {this.name =  name; this.age = age;this.sayHi = function () {console.log( "你好" );}}var p1 = new Peron( "张三", 18 );function getperson ( person ) {person.name = "李四";}getperson( p1 );console.log( p1.name );   思考: p1 的name值是什么?

1. 知识点-内置对象

  • 为什么要学内置对象?

    内置对象中已经帮助我们是实现相关的方法(数学, 时间 ....), 提高代码效率
    
  • 什么是内置对象?

    内置对象: js中本身已经具有的对象, 不需要我们手动创建,直接调用.
    
  • 内置对象要学什么?怎么学?

    ☞ 各种方法
    ☞ 属性
    学习的方式: 通过查询手册实现
    手册地址:  https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
    

2. 知识点-内置对象Math

  • Math内置对象

    提供了与数学操作相关的方法和属性
    
    • 属性: Math.PI 获取圆周率

      获取圆周率
      
    • 方法:

      • 求一个数字的幂数(几次方)

        Math.pow(x, y)
        
      • 获取一组数字的最大值

        Math.max()
        
      • 获取一组数字中的最小值

        Math.min();
        
      • 求一个数字的绝对值

        Math.abs();
        
      • 求一个数字的四舍五入运算

        Math.round()注意一点: 该方法返回的是一个整数
        
      • 随机数

        Math.random()       大于等于 0  小于 1
        
      • Math.floor()

      • Math.ceil()

3. 知识点-内置对象数组

  • 数组难到也是对象?数组也是内置对象?

    var  ary  = new Array();
    
  • 数组添加值 push() unshift()

    1. push() 方法

      通过 push()方法可以向数组中同时添加一个或者多个值,添加到数组的末尾
      
    2. unshift()方法

      通过 unshift()方法可以向数组中同时添加一个或者多个值, 添加到数组的开始位置
      
  • 删除(取值)数组中的值 pop() shift()

    1. pop()方法

      pop() 方法从数组中删除某个值, 从数组中从后向前删除, 返回值就是删除的值
      
    2. shift()方法

      shift() 方法将数组中某个值删除, 从数组的开始位置向后删除,返回的结果也是删除的值
      
  • 翻转数组 reverse()

    reverse() 翻转数组, 返回值就是翻转后的数组
    
  • join()

    将数组中的值以一个分割符拼接成一个字符串, 返回的结果就是一个字符串
    
  • indexOf()、lastIndexOf()

    1. indexOf()方法

      indexOf() 从数组中查找值对应的索引位置, 如果找到这个值,那么就返回值对应的索引位置, 如果没有找到,返回的结果就是 -1indexOf()可以设置第二个参数, 第二个参数可以设置也可以不用设置,代表的意思从哪开始找, 如果找到则返回对应的索引,否则返回-1
      
    2. lastIndexOf() 方法

      lastIndexOf() 从数组中查找值对应的索引位置lastIndexOf()也可以设置第二个参数, 二个参数的作用与indexOf()中第二参数的作用一样.
      
    3. 区别

      • indexOf() 从数组的前 向 后 找
      • lastIndexOf() 从数组的后向前找
    4. 补充: 判断一个值是不是数组 Array.isArray(obj)

4. 知识点-内置对象字符串

  • 字符串特性:

    不可变特性, 字符串在内存中的位置空间.
    在程序中大量拼接字符串会有什么问题?  ---> 浪费内存 (由于字符串不可变特性)
    
  • 获取指定位置处的字符

    charAt(索引值)
    注意: 字符串中的索引位置从 0 开始
    
  • 截取字符串 [重点]

    ☞ slice(startIndex[, end])// slice()// console.log(str.slice(6));// slice(starindex);//参数starindex代表从字符串中哪个位置开始截取,默认是到字符串的结尾处// console.log(str.slice(6, 8));// slice(startindex, endindex)// 参数: startindex 从哪开始截取// 参数: endindex  截取字符串到哪结束[不包括这个值]☞ substring(startIndex[,end]); //substring()截取字符方法与slice方法一样☞ substr(startIndex[, length])// substr(startindex, length)// 参数: startindex 代表从字符串的哪个位置开始截取, 默认到字符串的结束位置
    // 参数: length 代表的是要从字符串中一共截取多少个
    
  • 拼接字符串

    concat()  ====> 将字符串拼接到一块, 返回一个新的字符串
    
  • 替换

    replace('targetElement', 'element')   ====> 返回的结果也是字符串
    
  • 去除空白

    trim()    ====> 将字符串的首尾空白去掉
    
  • indexOf(字符) lastIndexOf(字符)

    indexOf(字符)  : 都是用来获取字符串中对应字符的索引位置, 从左向右查找, 如果找到那么就直接返回对应的索引位置, 如果没有找到,那么就返回-1lastIndexOf(字符) : 都是用来获取字符串中对应字符的索引位置, 从后向前找, 如果找到那么就直接返回对应的索引位置, 如果没有找到,那么就返回-1备注:
    1. indexOf(字符) 和  lastIndexOf(字符)  支持第二参数的设置,如何设置了第二个参数,那么代表从指定的位置起,向后(向前)查找
    

    ====> 将字符串的首尾空白去掉

    
    
  • indexOf(字符) lastIndexOf(字符)

    indexOf(字符)  : 都是用来获取字符串中对应字符的索引位置, 从左向右查找, 如果找到那么就直接返回对应的索引位置, 如果没有找到,那么就返回-1lastIndexOf(字符) : 都是用来获取字符串中对应字符的索引位置, 从后向前找, 如果找到那么就直接返回对应的索引位置, 如果没有找到,那么就返回-1备注:
    1. indexOf(字符) 和  lastIndexOf(字符)  支持第二参数的设置,如何设置了第二个参数,那么代表从指定的位置起,向后(向前)查找
    

javaScript第七天(2)相关推荐

  1. Unobtrusive JavaScript 不唐突的JavaScript的七条准则

    Unobtrusive JavaScript是一种将Javascript从HTML结构抽离的设计概念,避免在HTML标签中夹杂一堆onchange.onclick--等属性去挂载Javascript事 ...

  2. JavaScript中七种函数调用方式及对应 this 的含义

    http://blog.sina.com.cn/s/blog_621f1e120100rj21.html this 在 JavaScript 开发中占有相当重要的地位,不过很多人对this这个东西都感 ...

  3. JavaScript(七)—— BOM 浏览器对象模型

    本篇为 JavaScript 系列笔记第七篇,将陆续更新后续内容.参考:黑马程序员JavaScript核心教程,前端基础教程 系列笔记: JavaScript(一)-- 初识JavaScript / ...

  4. javascript加密七种方法

    本文一共介绍了七种javascript加密方法: 在做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的javascript代码常常被别人轻易的拷贝,实在让自己的心里有点 ...

  5. 不唐突的JavaScript的七条准则

    1.不要做任何假设 (JavaScript是一个不可靠的助手) 可能不唐突的JavaScript 的最重要的一个特性就是--你要停止任何假设: 不要假设JavaScript是可用的,你最好认为它很有可 ...

  6. javaScript第七天(1)

    JavaScript基础 核心知识点 Math对象中的方法 数组对象中的方法 字符串中的方法 今日学习目标 能够掌握Math对象中的相关方法 能够掌握数组对象中的push方法 能够掌握操作字符串的方法 ...

  7. JavaScript 第七章总结

    前言 主要介绍了关于 JavaScript 中有关 type 的问题.讲了很多关于各种 type 的 idiosyncrasies. 谈谈JavaScript types 在 JavaScript 中 ...

  8. Javascript第七章cookie的读取和写入源码第一课

    写入cookie <!DOCTYPE html> <html lang="en"> <head><meta charset="U ...

  9. javascript 的七种继承方式(三)组合继承

    组合继承 前面两篇我们了解到:原型链继承存在着引用类型问题,而借用构造函数又无法实现函数复用和原型方法继承的问题.那么能不能把两者结合一下,取其精华,弃其糟粕?答案是肯定的.那就是接下来我们要介绍的组 ...

最新文章

  1. html table运用方法,HTML Table caption用法及代码示例
  2. 东北大米为何如此好吃
  3. python学习-Django (3)
  4. 倒车辅助Park Assist
  5. python写背单词软件_python背单词小程序
  6. ​冲刺最后一公里——音视频场景下的边缘计算实践
  7. MapReduce Job本地提交过程源码跟踪及分析
  8. 我是不是在浪费生命?
  9. oracle中schema是什么,ORACLE中的两个概念:user和schema的区别和联系
  10. 网络摄像头 java_在Java中从网络摄像头捕获图像?
  11. 怎样做一个卓越的程序员
  12. zmq源码阅读 --- 几个关键的类 -- s_send + s_recv
  13. 关于JqueryEasyUI插件—Tab,默认选中某个面板 如果不明显指定的话,第一个就是被选中的...
  14. C#编程之SqlHelper
  15. 麦考利久期公式(c语言实现)
  16. 网站实现记住我(自动登录)的方法总结
  17. 集合中的(交集,并集,差集,补集,对称差集)
  18. mysql 8.0开启远程访问
  19. new与delete动态分配和释放内存
  20. CSS:transform应用之立体魔方案例

热门文章

  1. 计算机视觉各领域前沿算法积累
  2. adb shell 调试 Android 串口
  3. python中的库及module的 路径
  4. 工业机器人入门实用教程_机器学习实用入门
  5. 计算机视觉课_计算机视觉教程—第4课
  6. 商业银行为什么大量组织高净值小规模活动?
  7. 信用逾期3年是不是一定会坐牢?
  8. 去杠杆高歌猛进,借呗会倒闭吗?
  9. Linux-Android系统启动之INIT进程和system v init
  10. linux 关闭web服务器端口,linux(solaris)下如何关掉端口及服务