JS的引入方式:

第一种:

  就是我们在HTML标签中使用script标签,然后在这个标签中可以书写JS代码

  type="text/javascript"  可以不用写,浏览器会根据脚本标签的内容自动解析为JS脚本,但是为了开发的规范还是写上更好

第二种:

  使用JS文件,然后HTML导入

  导入依然使用script标签,加入一个src属性,并写上指向一个JS文件的路径

  JS文件的内容就是第一种在script标签中的内容是一模一样的

  

第三种:

  在一些触发按钮标签中绑定JS事件函数,具体怎么写已经忘了。。。。

关于面向对象程序设计的特性:

JS是否是一个面向对象的语言?

JS并不算是一个面向对象的语言,但是可以向面向对象一样进行编写,

这是因为JS的语言本身可以按照面向对象方式进行开发。

例如下面的这个例子:

    class AClass{

        constructor(param1,param2) {
this.name = param1;
this.age = param2
} method1(){
console.log("这是AClass实例的method方法,输出属性参数: name = " + this.name + " age = " + this.age )
}
} let aObject = new AClass("阿伟",12); aObject.method1();

结果:

JS数据类型:

基本数据类型:

- 布尔,真或假,TRUE & FALSE

- 数字,JS是一个弱类型的语言,整数和小数统一为数字类型

- 字符串,JS中没有字符的概念,即1个字也是字符串

- Null,和Java一样表示空

- Undefined,这是特殊的类型,表示未定义【未定义 不等于 空 !!!】

关于空&未定义的理解:

空也可以表示为一种存在,未定义则是存在这个条件都不具备

但是两者表示为空,感觉是因为未定义的范围大于空,

所以返回类型是空可以表示是未定义,也可以表示空

引用数据类型:

- 数组,数组是否是支持不同类型的数据我都忘记了,但是JS的数组是可变化的

- 对象

JS变量的定义:

ES5标准:

var

ES6标准:

let const

为什么不一样?ES5的变量不规范,

var允许重复声明,并在重复声明的基础上重复赋值,而且浏览器的解析是允许这么做的

但是这样会造成变量的误解,开发很容出现问题

为了解决这个问题,ES6出了新的变量标准,使用LET & CONST 以保证解析报错提示

声明变量并赋值

var i = 100

弱类型语言的特点是根据值来决定数据类型

与其相反,强类型语言是根据变量的数据类型决定值的数据类型

方法的声明和调用

    function method() {
console.log("this method has been invoke!!!")
} method();

方法可以写参数列表,没有数据类型限制,只需要变量的名称即可

带参方法在调用的时候,甚至可以不注入参数使用

JS中方法还可以这样声明,似乎方法也是一个对象???

    let method02 = function () {
console.log("the method02 has been invoke!!!")
} method02();

另外方法需要返回一些数值,不需要声明方法的返回值的数据类型,因为是弱类型语言

要返回只需要return + 表达式或者数值即可

return方法有两种意思,第一是代表方法的结束

第二种是返回数据

声明数组:

以构造器的形式声明数组:

let array = new Array();

使用JS写好的数组方法声明数组【是构造器的简化】

let array = Array();

数组在JS中使用[ ]来表示,所以我们还可以使用[ ]来声明一个数组

这也是JS简化了编写,这三种方式都是一样的

let array = [];

JS的数组可以不同数据类型,且长度可以变化

let array = [1,true,"字符串"];

流程控制:

IF - ELSE 分支判断

    if (2 > 1) {
// JS的IF - ELSE没有ELSE IF
} else { }

Switch等值判断:和Java没区别

在JS这个弱类型语言,值的范围似乎比Java更宽泛,能使用的值更多

    let d = 10;

    switch (d) {
case 2:
alert(d + 2);
break;
case 4:
alert(d + 4);
break;
case 8:
alert(d + 8);
break;
case 10:
alert(d + 10);
break;
default:
alert("no equals")
}

循环和遍历:

    let array = [1,3,5,7,9,11,33,55,77,99,111,333,555,777,999];

    for (let i = 0; i < array.length; i++) {
document.write(array[i] + "</br>");
}

使用增强For来遍历:

let obj = {
k1:"value1",
k2:100,
k3:[10,25,true],
key: function () {
console.log("asa")
}
} for (const objKey in obj) {
document.write(obj[objKey] + " </br>")
}

这个objkey只是一个obj的属性名的变量

如果打印objkey就是输出obj变量的key键名称

JS对象:

JS的对象的形态多样,从语法上面判断是否为对象是一件困难的事情

方法可以是对象,声明的大括号变量也可以是一个对象

对象允许组合,所以JS的语法看起来非常的多样

【JS】02 基础语法的更多相关文章

  1. JavaScript学习02 基础语法

    JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...

  2. Python入门 —— 02基础语法

    基础语法入门学习推荐: 简明 Python 教程 下文仅为入门推荐书籍的补充与重点 多行语句:末尾使用斜杠 (  ) ,将一行分为多行 var = item1 + item2 + item3 注释: ...

  3. Java单体应用 - Markdown - 02.基础语法

    原文地址:http://www.work100.net/training/monolithic-markdown-basic.html 更多教程:光束云 - 免费课程 基础语法 序号 文内章节 视频 ...

  4. [JS] javascript基础语法

    W3CSchool全套Web开发手册:点击下载 1.javascript是什么 js是具有面向对象能力的,解释性的程序设计语言. 2.js的类型 [基本类型]:string number boolea ...

  5. css与html 与js的基础语法

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sample_2-23456.a ...

  6. JS的基础语法

    8.运算符号表达式 ①数学运算符 数学运算符有+.-.*./除().%(余数) var a = 10; var b = 5; alert(a+b); 预览以后在网页上弹出的对话框数值就是15. ②逻辑 ...

  7. 转帖 JS的基础语法2

    条件语句(if.switch). 循环语句(while.do…while. for … in).跳转语句(break,continue) 1.条件语句 Ø if语句 javascrip中的if语句 v ...

  8. 转帖 JS的基础语法

    1.变量 1)变量是用来存储信息的容器. 2)在javascript中使用var 运算符(variable 的缩写)加变量名定义的. varx = 10; vary = 10.1; varz = “H ...

  9. 9.12/ css3拓展、js基础语法、程序基本知识、数据类型、运算符表达方式、语句知识点

    css3拓展: <display:none>  将某个元素隐藏       <visibility:hidden>  也是将某个元素隐藏 <display:block&g ...

  10. JavaScript的基础语法,你真的了解吗?

    这篇文章是在我们熟悉了JS的基础语法后,很少有人去关注的一些细节部分.如果掌握了某些细节也许会对代码的改善有着非凡的作用.也许会使我们的代码更严谨,更高效. 1.if语句的条件 if条件中,括号里是布 ...

随机推荐

  1. c#使用webView2 访问本地静态html资源跨域Cors问题 (附带代理服务helper帮助类)

    背景 在浏览器中访问本地静态资源html网页时,可能会遇到跨域问题如图. 是因为浏览器默认启用了同源策略,即只允许加载与当前网页具有相同源(协议.域名和端口)的内容. WebView2默认情况下启用了 ...

  2. 初学go语言

    for(int a = 0; a<10 ; a++){ // c语言的循环 } for a := 0 ; a<10 ; a++ {     // go语言的循环 } // for二边的括号 ...

  3. 如何简单实现suno-api账号保活

    本文由 ChatMoney团队出品 简介 之前的一个简易的项目suno-api.是使用cookie来获取suno-token发起请求的,之前写的简单,并没有做cookie保活,在运行一段时间后cook ...

  4. SELinux 基本原理

    首发公号:Rand_cs SELinux 基本原理 本文讲述 SELinux 保护安全的基本原理 安全检查顺序 不废话,直接先来看张图 当我们执行系统调用的时候,会首先对某些错误情况进行检查,如果失败 ...

  5. kettle从入门到精通 第六十四课 ETL之kettle kettle中执行SQL脚本步骤,使用需当心

    1.群里有不定时会有同学反馈执行SQL脚本步骤使用有问题,那么咱们今天一起来学习下该步骤.trans中的执行SQL脚本有两方面功能,使用时需小心,不然很容易踩坑. 官方定义: 翻译: 您可以使用此步骤 ...

  6. tomcat部署Jenkins

    安装环境 jdk 1.8 tomcat 9.0 jenkins 2.290 准备工作 安装好Tomcat,8080端口启动 安装好jdk,配置好环境变量 ECS服务器安全组放开8080端口 关闭防火墙 ...

  7. 微软新Edge浏览器 WIN7 无法登录

    由于设备上的系统组件过期,不支持登录.请确保 Windows 为最新版本,然后重新尝试登录.访问 https://go.microsoft.com/fwlink/?linkid=2107246 了解详 ...

  8. 你唯一需要的是“Wide Events”,而非“Metrics、Logs、Traces”

    Charity Majors 的这句话可能是对科技行业当前可观察性状态的最好总结--完全的.大规模的混乱.大家都很困惑.什么是 trace?什么是 span?一行日志就是一个 span 吗?如果我有日 ...

  9. Scrapy框架(四)--五大核心组件

    scrapy的基本使用我们已经掌握,但是各位心中一定会有些许的疑问,我们在编写scrapy工程的时候,我们只是在定义相关类中的属性或者方法, 但是我们并没有手动的对类进行实例化或者手动调用过相关的方法 ...

  10. FTP传输PORT、PASV模式

    FTP FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件.相比于HTTP,FTP协议要复杂得多.复杂的原因,是因为FTP协议要用到两个TCP ...