javaScript第七天(2)

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(字符)  支持第二参数的设置,如何设置了第二个参数,那么代表从指定的位置起,向后(向前)查找
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js(Dom+Bom)第一天(1)

JavaScript-DOM(BOM)操作 核心知识 获取页面元素事件设置样式 学习目标 能够使用id名,标签名等方式获取页面中元素能够给标签注册点击事件,并实现对应效果能够给标签通过js方式设置样式 JavaScript组成 ECMASCRIPT (基础语法) DOM(文档对…

[HZNOI #koishi] Magic

[HZNOI #514] Magic 题意 给定一个 \(n\) 个点 \(m\) 条边的有向图, 每个点有两个权值 \(a_i\) 和 \(b_i\), 可以以 \(b_i\) 的花费把第 \(i\) 个点的 \(a_i\) 变成 \(0\). 最后每个点 \(i\) 产生的花费为所有从 \(i\) 出发能通过一条有向边直接到达的点 \(j\) 的 \(a_j\) 的 \…

js(Dom+Bom)第一天(2)

webAPI 00-复习 内置对象中的方法 01-JavaScript组成 知识点-ECMASCRIPT 重点回顾 存储容器 变量数组对象 逻辑语法 分支语句循环语句switch语句 知识点-BOM 概念 Browser Object Model (浏览器器对象模型) 操作浏览器将浏览器看做是一个对象.作用 通过js操作浏览器中相…

华为架构师8年经验谈:从单体架构到微服务的服务化演进之路

本次分享的技术大纲如下: 传统应用开发面临的挑战服务化实践服务化不是银弹服务化架构的演进方向一 、传统应用开发面临的挑战 挑战1-- 研发成本高 主要体现在如下几个方面: 代码重复率高在实际项目分工时,开发都是各自负责几个功能&#xff…

轮播图制作(1)

轮播图制作 <body><div><img src"img/1.jpg" class"imgs" alt""><a href"#" class"left"><</a> //此处的箭头也可以用图标做出来<a href"#" class"right">>…

StringUtils工具类的常用方法

StringUtils 方法的操作对象是 java.lang.String 类型的对象&#xff0c;是 JDK 提供的 String 类型操作方法的补充&#xff0c;并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException &#xff0c;而是做了相应处理&#xff0c;例如&#xff0c…

放大镜制作(1)

放大镜制作 <div class"box" id"box"><!--左侧的盒子--><div class"small"><!--图片--><img src"images/big.jpg" width"350" class"aaa" alt""/><!--黄色小盒子--&…

从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装

标题&#xff1a;从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装 作者&#xff1a;Lamond Lu 地址&#xff1a;https://www.cnblogs.com/lwqlun/p/11343141.html 源代码&#xff1a;https://github.com/lamondlu/Mystique 前情回顾 从零开始实现ASP.NET Core MVC的插…

立体导航翻转案例

<div class"box"><!-- 立方体 --><ul><li><img src"img1/1.jpg" alt""></li><li><img src"img1/2.jpg" alt""></li><li><img src"img1/3.jpg" a…

Uncontrolled memory mapping in camera driver (CVE-2013-2595)

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主同意不得转载。https://blog.csdn.net/hu3167343/article/details/34434235 /* 本文章由 莫灰灰 编写&#xff0c;转载请注明出处。 作者&#xff1a;莫灰灰 邮箱&#xff1a; minzhenfei163.com */ 1漏洞描写…

表格隔行变色

<body><table border"0" align"center" cellspacing"1" cellpadding"0"><caption>恭喜发财</caption><thead><tr><th>代码</th><th>名称</th><th>最新公布净值<…

项目管理的测试版发布

最近有时间将以前没有写完的项目管理程序进一步完善&#xff0c;加入了项目任务之间的关连。功能&#xff1a;1、任务的关连Start to finishStart to startFinish to startFinish to finish2、任务关连表环路检测3、采用MVC模式进行开发4、自动导出XML5、双击连接线可以设置、删…

Tab栏切换布局分析

<body><div class"tab"><div class"tab_list"><ul><li class"current">商品介绍</li><li>规格与包装</li><li>售后包装</li><li>商品评价(50000)</li><li>手机社…

CLR基础,CLR运行过程,使用dos命令创建、编译、运行C#文件,查看IL代码

CLR是Common Language Runtime的缩写&#xff0c;是.NET程序集或可执行程序运行的一个虚拟环境。CLR用于管理托管代码&#xff0c;但是它本身是由非托管代码编写的&#xff0c;并不是一个包含了托管代码的程序集&#xff0c;所以不能使用IL DASM进行查看&#xff0c;但CLR以dll…

表单的全选取消全选

<div class"wrap"><table border"1" cellspacing"0" cellpadding"0"><caption>恭喜发财</caption><thead><tr><th><input type"checkbox" id"j_cbAll" checked&quo…

HDU 4339 Query

算法: 比赛时没有想到好的算法&#xff0c;暴力是O&#xff08; Q * N &#xff09;肯定超时。 赛后&#xff0c;线段树&#xff0c;树状数组&#xff0c;HASH都能AC&#xff0c;想了下&#xff0c;的确用树状数组 时间复杂度就可以优化到O&#xff08;Q * lgN * lgN) 2000msAC…

201904快速阅读术

在看过了几本数之后&#xff0c;发现原来培养读书的习惯好像也不太难&#xff0c;“将读书融入生活&#xff0c;框定读书时间” 生活中&#xff0c;我确实也是这样执行了。利用每天上下班的时间听书&#xff0c;有些觉得可以读快的书籍用了1.5倍速度在听&#xff0c;难懂的部分…

最简方式 表格编辑 基于 el-table

共下面5点1.新增一个显示和隐藏的参数2.在显示那边新增一个input框&#xff0c;用v-model绑定数据&#xff0c;用v-if来显示和隐藏3.给之前的显示的span标签添加v-else 和上面形成if else4.编辑和保存按钮同理&#xff0c;然后编辑按钮触发的任务将所有输入打开。即seen置为tru…

Spring Boot 自动配置原理

自动配置原理配置文件到底能写什么&#xff1f;怎么写&#xff1f;自动配置原理&#xff1b; 参考&#xff1a;https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#common-application-properties配置文件能配置的属性参照1、自动配置原理&#xff…

C#Socket编程详解(一)TCP与UDP简介

一、TCP与UDP&#xff08;转载&#xff09; 1、TCP 1.1 定义 TCP&#xff08;TransmissionControl Protocol&#xff09;传输控制协议。 是一种可靠的、面向连接的协议&#xff08;eg:打电话&#xff09;、传输效率低全双工通信&#xff08;发送缓存&接收缓存&#xff09;、…