JavaScript这门语言

2023-10-22 10:09
文章标签 java 语言 script 这门

本文主要是介绍JavaScript这门语言,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学习任何一门语言都要从数据类型、基本运算、流程控制、基本语法开始。

一、数据类型

    1、数字类型:整数和小数,显示类型number

    2、布尔类型:boolean

    3、字符串:string

    4、数组:数组,显示object类型

    5、空类型:null

    6、NaN:not a number,需要通过isNaN(数据)来进行判断是否是NaN类型,false:不是NaN,true:是NaN

    7、undefined:未定义类型,未定义或者未赋值再或者出现一些错误会出现undefined或者使用对象未有的属性

       注意:undefined进行类型判断需和字符串进行比较,比如:typeof(变量)=="undefined"

    8、对象object

            三种方式:

                1.直接new,然后再添加属性和方法

                      var obj = new Object()

                     动态添加属性和方法:

                             obj.name="张三"

                            obj.fun=function(){alert(this.name)}

                      调用:obj.fun()

                     继承:

                             var obj = new Object(obj)

                 注意:只有这种方法有继承。直接创建对象,然后在括号中写父类就是继承

                  2.使用JSON字符串创建对象

                      var person = {"name":”张三“,"fun":function(){逻辑代码}}

                   注意:由于JSON作为一种数据交换格式,所以JSON中的键最好用双引号括起来,因为在其他语言中都有字符串类型,最好不要用单引号,毕竟有的语言单引号不是字符串的标记。

                 3.使用类似构造函数的方式

                        //定义

                       function person(name){

                                        //属性

                                         this.name=name

                                        //函数

                                         this.fun=function(){逻辑代码}

                                     }

                      //创建对象

                     var obj =new person("张三")

                 注意:只有这种方法有对象创建可以初始化数据(传递参数)

二、基本运算

    1、赋值运算:=

    2、算术运算:+、-、*、/、%

    3、复合运算:+=、-=、*=、/=、%=

    4、逻辑运算:&&并、||或、!非

    5、比较运算:<、<=、>、>=、==、!=、===恒等(不但比较大小还比较类型)、!==恒不等(不但比较大小还比较类型)

    6、位运算:&按位与、|按位或、~按位取反、^异或、<<左移两位、>>右移两位

    7、三元运算符:表达式1?表达式2:表达式3

               当表达式1为真取表达式2的值,否则取表达式3的值

    8、自增和自减:++、--

              ++在变量之前(a=++b):先进行自增再参与其他运算。

              ++在变量之后(a=b++):先参与其他运算在进行自增。

              --同上

三、流程控制

    1、顺序结构

        自上而下,按顺序执行

    2、分支结构

        1.if -else

        2.switch-case:执行匹配到的语句块,否则执行default语句块

     注意:switch-case是按值选择运行代码的,一但选择并未break会导致之后的case全部执行,不再进行比较

四、基本语法

    1、循环结构

        1.while和do-while

            区别:while先判断在执行;do-while先执行再判断,至少执行一次

        2.for(表达式1;表达式2;表达式3;){}

             表达式都可以省略,表达式1省略需要在for循环之前定义变量,表达式2省略永真;表达式3省略要在循环体末尾自增或自减。

        3.for-in,遍历数组或对象

            数组:遍历的是下标

            对象:遍历的是对象的属性名

    2、异常处理

        格式:try{可能出异常的语句}catch(e){异常处理语句}

        抛异常:throw "要抛的异常信息"

    3、函数

        1.定义:function fun(){},关键字是function

        注意:函数名不能相同,否则后面的函数会覆盖前面的函数

        2.匿名函数

         定义:var fun = function(){}

        将函数的地址给变量fun

        3.内部函数

        定义:function outter(){function inner(){}}

        注意:内部函数可以在定义之前调用(在有些语言必须要在定义之后才能使用)

       4、参数传递

           1、 传递的实参的个数可以多于(从左往右取值)或少于形参的个数,并不会报错

            2、全局参数对象arguments,保留了一个函数的所有参数,可以像数组一样操作它,arguments[下标]。

    注意:使用arguments必须要在函数内部才能起作用。

      5、封闭空间

         其实就是实现独立运行匿名函数:

                (function(){})(参数)//参数是指调用该匿名函数要传递的参数

    4、变量

        1、全局变量

         可以全局使用,包括在函数内部使用,但是要注意函数内部如果有同名变量将优先使用自己的局部变量。

       2、局部变量

        函数内部定义的变量,外部不可访问和使用

       3、不存在块级作用域,即:代码块中定义的变量相当于全局变量,外部可以访问和使用。

 

        

                        

这篇关于JavaScript这门语言的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/260735

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl