JavaScript学习第二天

news2024/11/15 2:15:32

1.学习JavaScript高级语法目的

         降低后续对于前端框架学习难度

1.局部变量与全局变量

        

  1.局部变量:
               在函数体内部通过var声明的变量

    1.局部变量特点:

               局部变量只能在当前函数体内使用,不能
           在函数体外使用

2.全局变量

     在script标签下直接声明的变量

      全局变量特征:

           1) 全局变量在声明时,自动分配给window对象作为其属性
           2) 全局变量可以在当前html文件中任意的函数中使用

3.特殊全局变量:

 在函数体内没有通过var修饰符来修饰的变量

特殊全局变量特征:

        1) 特殊全局变量可以在当前html文件中任意的函数中使用
        2) 特殊全局变量必须在所在函数第一次运行时才会被声明

这里dname为特殊全局变量,使用时,必须先调用局部变量所在的函数,使局部变量先初始化,然后再使用该特殊全局变量。

3.arguments属性

   1.arguments属性是函数内部属性
    2.arguments属性是数组
    3.在函数调用时,arguments属性用于接收实参
      然后负责传递给函数形参
    4.由于arguments属性存在,因此JavaScript中
      函数调用时使用实参与形参可以不一致

形参大大降低了函数调用的难度

4.object类型对象

1.创建object类型对象

      1) 使用内置构造函数生成object类型对象
      2) 使用自定义构造函数生成object类型对象
      3) 使用JSON对象描述格式生成object类型对象 

      1) 使用内置构造函数生成object类型对象

 

2) 使用自定义构造函数生成object类型对象

 

 3) 使用JSON对象描述格式生成object类型对象

 

 

 2.object类型对象特征

  可以根据实际情况,自动添加或则移除的属性

属性管理方式一:

      object类型对象.新属性名 = 值;

      delete object类型对象.属性名;

       属性管理方式二:

      object类型对象[变量名]=值

      delete object类型对象[变量名];

1.动态给对象添加和删除属性:

方式一:

 

 方式二:

 

 5.普通函数与构造函数的区别

    1.JavaScript中无法在静态环境下判断函数身份
     2.JavaScript中通过函数调用形式判断函数身份
     3.如果函数以"对象.函数"形式调用,此时函数身份普通函数
     4.如果函数以"new 函数"形式调用,此时函数身份构造函数
     5.如果函数以普通函数身份调用,可以通过return返回结果
     6.如果函数以构造函数身份调用,此时函数中return视为无效
       此时返回只能是一个object类型对象

 

 6.this指向(与Java完全一致)

     1.如果函数以构造函数身份调用,this指向本次创建实例对象
     2.如果函数以普通函数身份调用,this指向调用函数的对象

 

 

7.call函数

     1.在JavaSript中,所有函数内置了一个call函数
     2.call函数动态指定当前函数调用权利
     3.命令格式
              函数名.call(调用对象,实参1,实参2)

 

8.prototype属性 

     1.在JavaScript中,所有函数内置了一个prototype属性
     2.由prototype属性指向对象被称为"原型对象"
     3."原型对象"中属性被称为"原型属性"
     4.由当前构造函数生成的所有实例对象可以共享原型属性
     5."原型属性"类似于Java中静态常量属性(static final)
     6."原型属性"不能被实例对象修改内容

 

9.function类型对象

 1.由function类型修饰对象被称为函数对象
    2.一个函数对象管理一个具体函数
    3.function类型对象声明

       方式一:标准function类型对象声明方式
        function 函数类型对象名 (形参1,形参2){
    
    }

      方式二: 匿名式声明方式/命令行式声明方式
        var 函数对象名 = function (形参1,形参2){};
 

方式一:标准function类型对象声明方式

方式二: 匿名式声明方式/命令行式声明方式

   4.函数类型对象创建时机

       1.JavaScript编译器对script标签进行"两次自上而下编译"
       2.JavaScript编译器第一次编译时,只会将script标签中
         所有以标准形式声明函数对象进行创建
       3.JavaScript编译器第二次编译时,自上而下将script标签
         所有的命令行编译执行

 

 京东面试题:

10.JavaScript中继承方式: 

     1.借助于prototype实行实现继承
     2.借助于call函数实现继承 

1.借助于prototype实行实现继承

 2.借助于call函数实现继承 

 

11.介绍Jquery框架

      1.简化了对于DOM对象定位难度
     2.简化了DOM对象对标签中属性操作难度
     3.增加JavaScript运行稳定性

 

<html>

   <body>

      <center>

            <div name="two">这是第一个DIV</div>

            <div  name="two">这是第二个DIV</div>

            <div id="three" name="two">这是第三个DIV</div>

            <p   name="two">这是一个段落标签</p>

            <input type="button" value="定位ID等于three的标签" οnclick="fun1()">

            <input type="button" value="定位name等于two的标签" οnclick="fun2()">

            <input type="button" value="定位div标签" οnclick="fun3()">

      </center>

      <script type="text/javascript" src="jquery.js">

      </script>

      <script type="text/javascript">

            function fun1(){

               var domArray = $("#three") //省略书写document.getElementById("three")

               var dom = domArray[0];

               alert(dom.innerHTML)

            }

            function fun2(){

               var domArray = $(".two");//document.getElementsByName(two)

               for(var i=0;i<domArray.length;i++){

                       var dom = domArray[i];

                       alert(dom.innerHTML)

               }

            }

            function fun3(){

               var domArray = $("div");

                for(var i=0;i<domArray.length;i++){

                       var dom = domArray[i];

                       alert(dom.innerHTML)

               }

            }

      </script>

   </body>

</html>

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

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

相关文章

AI之Suno:Suno V3的简介、安装和使用方法、案例应用之详细攻略

AI之Suno&#xff1a;Suno V3的简介、安装和使用方法、案例应用之详细攻略 目录 Suno AI的简介 1、特点与改进&#xff1a; Suno AI的安装和使用方法 1、第一步&#xff0c;让国产大模型—ChatGLM4帮我写一个提示词 2、第二步&#xff0c;将提示词交给Suno v3&#xff0c;…

LDL^H分解求逆矩阵与MATLAB仿真(Right-Looking)

通过分解将对称正定厄米特矩阵分解成下三角矩阵L和对角矩阵D来求其逆矩阵 目录 前言 一、LDL^H基本算法 二、LDL^H Right-Looking算法 三、D矩阵求逆 四、L矩阵求逆 五、A矩阵求逆 六、计算量分析 七、MATLAB仿真 八、参考资料 总结 前言 在线性代数中&#xff0c;LDL…

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接

文章目录 前言1. 安装Docker2. 使用Docker拉取MongoDB镜像3. 创建并启动MongoDB容器4. 本地连接测试5. 公网远程访问本地MongoDB容器5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定TCP地址远程访问 前言 本文主要介绍如何在Linux Ubuntu系统使用Docker快速部署Mon…

企业如何选择一个开源「好」项目?

开源 三句半​​​​​​​ 需求明确是关键 风险考量要周全 开源虽好不白捡 别忘合规&#xff01; 显然&#xff0c;开源已成为一股不可阻挡的洪流&#xff0c;企业拥抱开源&#xff0c;积极参与开源项目不仅是响应技术潮流的必然选择&#xff0c;更是实现自身技术创新、市场拓…

GETSHELL方法总结上

渗透的总步骤 1.信息收集找到弱漏洞 2.漏洞挖掘 漏洞验证 3.有一定权限 getshell 4.提权后---渗透 5.内网渗透】 前后台拿shell方法汇总 接下来我们实操一波dedecms也就是织梦cms 如果你们的靶场是空白的 可能是php版本 我们修改为5.2 可能是源码问题 我们不要急着上传…

【vue核心技术实战精讲】1.6 - 1.8 VUE 指令 (中)

文章目录 前言 本节内容1、v-on使用v-on好处效果 2、事件修饰符2.1、按键码 (<font color red>已废弃&#xff0c;不用研究)示例效果 3、v-for 列表渲染示例效果 前言 上节,我们学习了 Vue指令之v-text 、 v-html、v-if 、v-show、v-bind 点击进入上一节 本节内容 Vue…

【Linux基础】ubuntu虚拟机配置及原理

一、虚拟机 虚拟机&#xff08;Virtual Machine&#xff0c;VM&#xff09;是一种软件实现的计算机系统&#xff0c;它在物理计算机上模拟了一个完整的计算机硬件环境&#xff0c;包括处理器、内存、存储设备和网络接口等。通过虚拟机&#xff0c;用户可以在单个物理计算机上同…

二叉搜索树(二叉排序树,二叉查找树)(附图详解+代码实现+应用分析)

最近学习了有关搜索二叉树的相关知识&#xff0c;在此特意将该知识进行总结分享&#xff0c;希望对大家有所帮助。 文章目录 一.二叉搜索树1.1二叉搜索树的概念1.2二叉搜索树的操作&#xff08;含思路分析代码实现&#xff09;1.2.1二叉搜索树的查找&#xff08;递归实现看最后…

RocketMQ学习笔记:零拷贝

这是本人学习的总结&#xff0c;主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、零拷贝技术1.1、什么是零拷贝1.2、mmap()1.3、Java中的零拷贝 1、零拷贝技术 1.1、什么是零拷贝 使用传统的IO&#xff0c;从硬盘读取数据然后发送到网络需要经过四个步骤。 通过DMA复…

外包干了5年,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入杭州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

基于Scapy国内城市空气质量数据采集系统设计与实现

代码和完整的报告在文章最后 城市空气质量数据采集系统设计与实现 &#x1f3d9;️ 研究背景 &#x1f32c;️ 城市化与环境挑战&#xff1a;随着城市化进程的加快&#xff0c;环境污染问题&#xff0c;尤其是空气质量问题&#xff0c;已成为公众关注的焦点。数据监测的重要性…

canvas跟随鼠标移动画带透明度的线(画涂鸦)

提示&#xff1a;canvas画线 文章目录 前言一、带透明度的线二、试错&#xff0c;只有lineTo的时候画&#xff0c;只有最后地方是透明度的三、试错&#xff0c;只存上一次的点&#xff0c;线会出现断裂的情况总结 前言 一、带透明度的线 test.html <!DOCTYPE html> &l…

【日常linux操作命令】

文章目录 1、查看服务器信息1.1、查看内存1.2、查看磁盘1.3、查看CPU信息 2、清理内存缓存2.1、清理PageCache&#xff1a;2.2、清理Dentries和Inodes&#xff1a;2.3、同时清理PageCache、Dentries和Inodes&#xff1a;2.4、清理日志文件2.5、清理临时文件 3、查找文件3.1、查…

在Ubuntu 22.04上源码安装python3.7及setuptools及pip

背景 随着时代发展&#xff0c;ubuntu的版本也在飞速迭代&#xff0c;现在ubuntu中默认带的python3已经到python3.11了&#xff0c;并且python2也已经在新的版本中被废弃了。 但是还有一些场景下会用到python3.7&#xff0c;这里给一些说明&#xff0c;方便大家使用。 操作 …

K3 计划订单投放时,将“关联物料”传递到采购和生产订单的“组部件”字段

参考K/3 WISE 中MRP计算投放过程中 销售订单自定义字段怎么携带到任务单这篇文章&#xff0c;进行优化。 在表ICMrpDestBills下增加触发器&#xff0c;代码如下 CREATE TRIGGER [dbo].[ICMrpDestBills_update]ON [dbo].[ICMrpDestBills]AFTER INSERT,UPDATE AS BEGINSET NO…

【SpringCloud】探索Eureka注册中心

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 …

AISD智能安全配电装置--智能监测、远程监控

安科瑞薛瑶瑶18701709087 AISD100单相、AISD300三相智能安全配电装置是安科瑞专为低压配电侧开发的一款智能安全配电产品。主要针对低压配电系统人身触电、线路老化、短路、漏电等原因引起电气安全问题而设计。 产品主要应用于学校、加油站、医院、银行、疗养院、康复中心、敬…

Douyin视频详情数据API接口(视频详情,评论)

抖音官方并没有直接提供公开的视频详情数据采集API接口给普通用户或第三方开发者。抖音的数据采集通常受到严格的限制&#xff0c;以保护用户隐私和平台安全。 请求示例&#xff0c;API接口接入Anzexi58 如果您需要获取抖音视频详情数据&#xff0c;包括评论、点赞等&#xff…

Java中 List 集合,通过 Stream 流进行排序总结

一、数据准备 public class OrderTest {private String channelCode;private BigDecimal rate;// 省略 getter、setter、toString()、constructor }List<OrderTest> orderTestList new ArrayList<>();OrderTest z09 new OrderTest("Z09", new BigDeci…

EasyCVR在银河麒麟V10系统中启动异常及解决方法

安防监控视频平台EasyCVR具备较强的兼容性&#xff0c;它可以支持国标GB28181、RTSP/Onvif、RTMP&#xff0c;以及厂家的私有协议与SDK&#xff0c;如&#xff1a;海康ehome、海康sdk、大华sdk、宇视sdk、华为sdk、萤石云sdk、乐橙sdk等。平台兼容性强&#xff0c;支持Windows系…