​JS入门熟知​

news2024/12/22 0:34:27

JS是面向对象的语言

  1. 封装
  2. 继承
  3. 多态
  4. 聚集(对象中具有引用其他对象的能力)

JS使用中绝大多数情况不需要进行面向对象的设计,很多情况是使用已经设计好,准备好的对象,基于对象的语言.

JS的使用(引入)

  1. jsp、html中直接在script标签中书写
  2. 在script标签中引入

  注意: 

    1. script 标签位置任意. 但是位置越靠前,执行越早.(重要)
    2. js 外部文件推荐扩展名是.js.但是其实任何后缀名都可以.
    3. 使用script标签引入外部文件,那么该script标签中就不要书写js代码了.

JS的基本语法

  • 变量声明

   变量声明使用var,变量区分大小写 str 和 STR 不是同一个变量. 字符串使用双引号("")或单引号('')包裹都可以.变量的类型可以随时改变.命名规则是匈牙利标记法.

    var str = 1; var str = "Hello";  //两者之间没有任何区别

  • 行尾使用 ";" 作为一行的结束符号.(可以没有";", 以折行符(回车)作为一行的结尾.)(不推荐)  
  • js 中的注释有两种单行,多行

    单行注释"//"  多行注释 "/* */"

  • 封装代码块与 java 一样,使用{}.
  • 变量声明时, 前缀 var 也不是必须的.
      加var 和 不加 var 有什么区别? 如果不使用var,那么该变量是全局变量

JS的类型

  js中类型分为两种

    1. 原始数据类型
    2. 对象数据类型

  java中 基本数据类型有 byte short int long float double boolean char
  js中 原始数据类型有     number(数字,浮点型,整型)
             string(js语言的突破,没有char类型.)
             boolean
             null (用来标示引用数据类型的占位符.通常都是人为赋值.)var person = null;
             undefined (由null衍生出来的值,是当我们声明一个变量,)
                1.没有给该变量初始化值,那么系统会默认赋值为undefined
                2.函数中没有返回值,那么默认返回undefined
  原始数据类型 判断符:
    typeof  用来判断一个变量是哪种原始类型的.
    null会返回object, 是js中的一个bug,这个bug 被认为很贴切.所以保留了该bug.

JS中的语句

  java中有循环: for while-do do-while
     有判断: if switch
  js中语句 与java中一模一样!

  特殊: java中的增强for循环在js中没有.
  js中有for(var xx in xx) 语句.  用的很少,用来遍历对象的属性.

JS中运算符

  一元运算符
    一元加法,减法  
      var a = +1;
      var b = -1;
    在js中的高级应用.
      var c = +"1";   //进行类型转换
      var d = +"abc";   // 转换失败,返回number中的特殊值 NaN.

  Boolean 运算符 ! && ||
  js中自动类型转换. 转换规律 (重点)
    string  ==> "" 转换为false 其他都为true;
    number ==> 除了NaN,+0和-0.其他都转换为true.
    null ==> false
    undefined ==> false
    NaN特性:
      NaN参与的任何boolean运算返回值都是false. 除了!=,因为undefined是null衍生出的,所以 alert(undefined == null);// true
  比较运算符

    alert(11>3);  //true
    当运算符两端 , 一端是数字,一端是其他类型时, 其他类型会自动向数字类型转换
      alert("11">3);  // true
      alert(11>"3");  //true
    字符串在进行比较时 ,规律是: 比较首字符asc码. 如果一样,比较第2位...
      alert("11">"3");  // false
      alert("11">"1");  // true
      alert("abc">11);  //false

    等性运算符 == != ===
    全等于: === 比较时包括类型.

ECMAScript中的对象

  1. Object  是所有对象的超类.
  2. Function对象以及Function的创建
    1. var fun1 = new Function("a","b","alert(a+b);");
    2. var fun2 = function (a,b){alert(a+b);}
    3. function fun3(a,b){alert(a+b)}    
  3. Function的调用
  4. js中函数的调用只看函数名称. 调用时内置对象arguments, arguments代表函数运行期间实际参数列表.
      arguments.length  实际参数个数
      arguments[0]   第一个参数.
      应用: arguments 实现函数的重载.
  5.  函数的返回
    1. 如果函数没有显示指定返回值,那么函数返回值为undefined.
    2. 使用return关键字,返回内容
    3. return 关键字,在js中也可以作为结束方法运行的功能.
    4. void运算符的应用.

ECMAScript中对对象的分类

  1. 本地对象
    内建对象   不需要创建实例.直接使用 Global Math
    主机对象   DOM BOM 两部分.
    ECMAScript中3个包装对象.
      String Number Boolean
    伪对象: string number boolean 这3个原始类型可以看作是伪对象, 能直接调用包装对象的方法和属性.
      String对象属性length
    重要的方法
      indexOf
      lastIndexOf
      charAt
      alert(str1.charAt(0));  //a
      charCodeAt 返回所在字符的asc码
      alert(str1.charCodeAt(0));  //97
      subString
      alert(str1.substring(0, 1));  //a
      slice 支持负数. 从右往左.
      alert(str1.slice(0, -1));  //a
    与正则结合的方法
      split
      replace
      match
      search

   Global对象

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

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

相关文章

0009-TIPS-SLAB入门与观察

极简,但是能快速上手 slub算法 这篇文章简洁直观,推荐 linux 内核 内存管理 slub算法 (一) 原理 感受slub堆漏洞 需要下载 https://github.com/De4dCr0w/green-dill ,使用其中的测试程序做实验 UAF 如果看完上面链…

F407/103启动文件and启动过程

STM32 启动文件简介 STM32 启动文件由 ST 官方提供,在官方的固件包里。 startup_stm32f40_41xxx.s 启动文件由汇编编写,是系统上电复位后第一个执行的程序。 启动文件主要做了以下工作: 1 、初始化堆栈指针 SP _initial_sp 2 、初始…

SSM面试题

文章目录 一、Spring1.1 配置一个bean的方式?注解/xml1.2 spring 自动装配 bean 有哪些方式?1.3 spring 常用的注入方式有哪些?1.4 Component和Bean的区别?1.5 spring 事务实现方式有哪些?1.6 spring事务的传播机制?1.7 spring 的事务隔离? 二、SpringMVC2.1 SpringlIvc…

阿里云在国内市场占有率怎么样?

阿里云在国内市场占有率怎么样?   阿里云在国内市场占有率分析   随着互联网的飞速发展,越来越多的企业和个人开始利用云计算服务来满足各种业务需求。作为中国领先的云服务提供商,阿里云自成立以来就受到了广泛关注。本文旨在分析阿里云…

cmake入门(2)

cmake 教程2 demo cmake_minimum_required(VERSION 3.10) project(Tutorial)set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED True)add_executable(Tutorial tutorial.cxx)基础 cmake_minimum_required cmake的版本要求 project 项目的名字,同时会生…

ad18学习笔记五:统计焊盘数量(board information)

AD18之后,Altium Designer改动比较大。下面将介绍AD19如何统计焊盘(PAD数量)与SMT贴片数量与插件数量 1: PCB 空白处 -> F11 -> Properties 选项卡 -> Board Information -> Pads 2: Pads 包括 通孔焊盘和贴片焊盘 Vias 包括过孔…

22.小波神经网络时间序列预测交通流量(附matlab程序)

1.简述 学习目标:小波神经网络时间序列预测交通流量 WNN(小波神经网络):是在误差反传神经网络拓扑结构的基础上发展而来的网络,与神经网络的结构具有一定的相似.在小波神经网络中,当整体信号…

第十三章 csv模块

1. csv模块介绍 介绍csv 模块前,需要先了解csv 文件(.csv 文件格式),csv 文件中的每行代表电子表格中的一行,并用逗号分隔该行中的单元格。 csv 文件可以使用记事本打开,可以使用Excel 另存为.csv 文件格…

docker内访问tdengine服务

踩坑记 springboot项目使用docker部署。由于tdengine原生连接方式需要安装客户端,第一想法是宿主机装好客户端,然后映射驱动到容器内部,网上找的教程也基本是这种思路。尝试了一天失败了。 错误1:libjemalloc.so.2 file: No such file or d…

docker安装下载tomcat一站式搞定并设置挂载卷

阿丹: 之前在使用nginx部署搭建vue项目的时候没有出docker配置nginx的配置文档(因为之前使用的是腾讯云现成的nginx服务器),今天配置安装一下tomcat和nginx在docker里面的安装。 在docker中安装配置tomcat 操作解读:…

服务器中间件

文章目录 一、tomcat二、 nginx2.1 代理问题2.2 负载均衡问题2.3 资源优化2.4 Nginx处理2.5 Nginx的特点:2.6 Nginx的安装2.7 Nginx的配置文件2.8 Nginx的反向代理2.9 反向代理:2.10 基于Nginx实现反向代理2.11 关于Nginx的location路径映射2.12 负载均衡…

【实战项目】利用mmdetection识别卫星遥感影像上的电线杆塔

前言 这次项目算是对openmmlab AI实战营第二期的一个实验证明,虽然这几天学习的比较粗糙,但也算是入门了mmdetection。 这个工具就像python一样,openmmlab已经将入门门槛做的很低了,但如果想精进、熟练甚至做真正的调参侠&#xf…

小白到运维工程师自学之路 第三十九集 (LVS架构)

一、概述 1、lvs LVS是Linux Virtual Server的缩写,是一种基于Linux内核的高性能、高可用性的 负载均衡软件。它可以将多台服务器组成一个虚拟的服务器集群,通过负载均衡算法将 客户端请求分发到不同的服务器上,从而提高系统的可用性和性能…

【MQTT 5.0】协议 ——发布订阅模式、Qos、keepalive、连接认证、消息结构

一、前言1.1 MQTT 协议概述1.2 MQTT规范 二、MQTT 协议基本概念2.1 发布/订阅模式2.11 MQTT 发布/订阅模式2.12 MQTT 发布/订阅中的消息路由2.13 MQTT 与 HTTP 对比2.14 MQTT 与消息队列 2.2 服务质量:QoS2.21 QoS 0 最多分发一次2.22 QoS1 至少分发一次2.23 QoS 2 …

一款可以支持SNMP协议的网络型温湿度变送器资料

简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资料物件。该协议能够支持网络管理系统&am…

generator和promise和async的异同

一、generator(生成器)是ES6标准引入的新数据类型,他和promise一样都是异步事件的解决方案 //generator函数生成斐波那契// generator(生成器)是ES6标准引入的新数据类型,async就是 Generator 函数的语法糖//本质:用来处理异步事件的对象/包含异步操作的容器functio…

Rust语言从入门到入坑——(4)Rust语法(中)

文章目录 0 引入1、函数1.1、函数参数1.2、函数体1.3、函数返回值 2、条件语句3、循环3.1 、while3.2 、for3.3 、loop循环 4、总结 0 引入 在这里我们需要介绍Rust语法,一共分三部分,第二部分主要是一些如函数,编程中的循环等语法的介绍&am…

小白到运维工程师自学之路 第三十九集 (HAproxy 负载均衡)

一、概述 HAProxy是一款高性能的负载均衡软件,可以将来自客户端的请求分发到多个服务器上,以提高系统的可用性和性能。HAProxy支持多种负载均衡算法,包括轮询、加权轮询、最少连接数等。同时,HAProxy还支持会话保持、健康检查、SS…

redis和mysql

文章目录 一、redis1.1 redis的数据结构都有哪些?1.2 持久化方式有哪些?1.3 怎么保证缓存和数据库数据的一致性?1.4 redis缓存是什么意思? 二、数据库2.1 基本数据类型2.2 MySQL 的内连接、左连接、右连接有什么区别?2.3 MySQL 问题排查都有…

第二章(第三节):导数的应用

1.洛必达法则 1.用途 能够使用洛必达法则解决常见的未定式问题。2.极限下的未定式 如果当 x→a 或 x→∞ 时,函数f(x)和g(x)均趋于零或者无穷,那么极限:可以存在,也可能不存在。通常这种极限为:0/0型或∞/∞型未定式。3.示例 1.lim x→0; (1-cosx) / x 2 ^2