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,一经查实,立即删除!

相关文章

数据挖掘、机器学习书籍推荐!!

强烈推荐:《机器学习》 (西瓜书) 入门读物: 《深入浅出数据分析》 这书挺简单的,基本的内容都涉及了,说得也比较清楚,最后谈到了R是大加分。难易程度:非常易。 《啤酒与尿布》 通过案例来说事情&#xff0c…

楼兰图腾(权值线段树)

在完成了分配任务之后,西部314来到了楼兰古城的西部。 相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(‘V’),一个部落崇拜铁锹(‘∧’),他们分别用V和∧的形状来代表各自部落的图腾。 西部314在楼兰古…

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\) 的 \…

同步与异步

同步: 做完一件事,再做另一件 煮好水,再拆泡面包装 异步: 可以同时做好几个任务 烧水,打开火之后,先去拆泡面包装,等水开了,再停下拆包装,去关掉火。。。。。 转载于:htt…

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

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

mysql 主主复制的配置流程

1、先关闭B,把A的数据导出来,mysqldump -hlocalhost -uroot -p123456 --database ibprpu >ibprpu.sql2、关闭A,启动B,进入mysql建立一个新的数据库 create database ibprpu3、导入数据库 mysql -hlocalhost -uroot -p123456 &l…

华为架构师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…

struts2+extjs文件上传完整实现(攻克了上传中的各种问题)

版权声明&#xff1a;本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/shanhuhau/article/details/28617999 首先须要引入上传控件 <script type"text/javascript" src"<%basePath%>/js/ext/examples/ux/fileuploadfield/FileUploa…

放大镜制作(1)

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

.NET Framework 2.0 组件和非托管代码与交互操作详解(转)

.NET Framework 将促进与 COM 组件、COM 服务、外部类型库和许多操作系统服务的交互操作。在托管和非托管对象模型之间&#xff0c;数据类型、方法签名和错误处理机制都存在差异。为了简化 .NET Framework 组件和非托管代码之间的互用并便于进行移植&#xff0c;公共语言运行时…

git 删除远程分支和本地分支

删除远程分支和本地分支 https://www.cnblogs.com/luosongchao/p/3408365.html 将远程git仓库里的指定分支拉取到本地&#xff08;本地不存在的分支&#xff09; https://www.cnblogs.com/hamsterPP/p/6810831.html 转载于:https://www.cnblogs.com/mafeng/p/10619419.html

从零开始实现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>最新公布净值<…

启动Cognos时报0106错误

1. 问题描述 启动Cognos失败&#xff0c;报错代码为0106。 2. 问题分析 是jdk版本不兼容。 3. 解决方案 方案一&#xff1a;更换jdk1.6&#xff0c;可以使用免安装版&#xff0c;不需要卸载原有的jdk将java_home的路径替换成jdk1.6的路径。 方案二&#xff1a;使用Cognos自带jd…

项目管理的测试版发布

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