js初相识:简介及基本语法

js简介

一、一些概念

1、计算机语言:

2、计算机的组成:

硬件、软件

数据存储

数据存储单位

二、js简介

1、js是什么 是一种面向对象的脚本语言

能做什么

表单动态校验(密码强度检测)(JS产生最初的目的)

网页特效

桌面程序(Electron)

服务端开发(Node.js)

App(Cordova)

控制硬件-物联网(Ruff)

游戏开发(cocos2d-js)

我们熟知的微信小程序、插件扩展、游戏特效、刷浏览量......很多都是可以利用JS开发使用的

浏览器怎么执行js的

浏览器由多个部分组成其中就有:渲染引擎和JS引擎

渲染引擎:用来解析html和css,所称内核

JS引擎:也称为JS解释器。用来读取网页中的JavaScript代码,对其处理后运行

浏览器本身并不会执行JS代码,而是通过设置JavaScript引擎(解释器)来执行JS代码。 JS引擎执行代码时逐行解释每一句源码(转成机器语言),然后由计算机去执行。所以JS 语言归为脚本语言,会逐行解释执行

2、js的组成

ECMAScript( 核心,规范标准)

Document Object Model文档对象模型

BOM 浏览器对象模型,操作浏览器

(1)、ECMAScript ( JavaScript的核心 是规范标准)

------描述了语言的基本语法(var、for、if、array等)和数据类型(数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义)。

------只学习基础语法,做不了常用的网页交互效果,为后面的内容打基础,做铺垫

(2)、DOM (Document Object Model文档对象模型,可以去操作网页)

Document(文档)

指的是XML和HTML的页面,当你创建一个页面并且加载到Web浏览器中,

DOM就在幕后悄然而生,它会把你编写的网页文档转换成一个文档对象。

Object(对象)

js对象大致可以分为以下三种:

自定义对象,例如:var obj = {}

内置对象,无需创建,可直接使用,例如:Array、Math和Data等

宿主对象,浏览器提供的对象,例如:window、document

DOM中主要关注的就是document, document对象的主要功能就是处理网页内容。

Model(模型)代表着加载到浏览器窗口的当前网页,可以利用JavaScript对它进行读取

输入输出语句

创建一个js书写环境

<script>

// js语言环境

// 1、alert 页面弹出

// alert("hello");//简写

// window.alert("hi"); //完整写法

// 2、控制台输出

// console.log("<a href='#'>你好123</a>");

// 3、页面输出

// document.writeln("12345");

// document.writeln("<h1>123456</h1>");//可以识别标签

// 4、输入语句

// prompt("你叫什么名字");

// document.writeln(prompt("你叫什么名字"));

// alert(prompt("你叫什么名字"));

// console.log(prompt("你叫什么名字"));

// 5、输入语句--得到的时true或false,常用于做逻辑判断

// console.log(confirm("你确定要删除吗?"));

</script>

一、js注释 (注释中的内容不会被执行,但可以在源代码中查看)

1、多行注释,默认的快捷键:shift+alt+a

2、单行注释,ctrl+/ 只对后面的内容有效

3、注释作用: 养成良好的编写注释的习惯,可以通过注释对代码进行一些调试

二、为了方便信息的输入输出,JS中提供了一些输入输出语句

1、控制浏览器弹出一个警告框

2、让计算机在页面中输出一个内容

3、向控制台输出一个内容

4、用户输入数据

三、js代码是从上到下,一行行执行的,有执行顺序

代码编写位置

书写位置1

<script>

console.log("hello1");

</script>

书写位置2

<script>

console.log("hello2");

</script>

书写位置3

<script src="./index.js">

如果script是引入外部js文件,其内部不能书写其他的js代码

console.log('hello');

</script>

书写位置4:

事件属性 的属性值内

事件:交互的行为

事件属性:

onclick 当点击时

onmouseenter/onmouseover 鼠标移入

onmouseleave/onmouseout 鼠标移出

onmousemove 鼠标在范围内移动

······

-->

css 复制代码
    <!-- <button id="abc" onmousemove="console.log('hello1')">按钮1</button> -->

js的书写位置

第一种方式 标签的事件属性

<button οnclick="alert('你点我了')">点我一下</button>

<a href="JavaScript:alert('你也点我了');">你也点我一下</a>

第二种方式:body标签内书写script标签里

第三种方式:head标签内书写script标签里

第四种方式:外部js文件内,通过<script src=""></script>引入

优势:可以在不同的页面中同时引用,也可以利用到浏览器的缓存机制,推荐使用方式

注意:这个script标签一旦用于引入外部文件了,就不能编写代码了,即使编写了,浏览器也不能识别

js的基本语法

1:js中严格区分大小写

2:js中每一条语句以分号(;)结尾

如果不写分号,浏览器会自动添加,但会消耗一些系统资源

而且有时候,浏览器会加错分号,所以在开发中分号基本都写

3:js中会自动忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化

字面量和变量

字面量:固定值,写什么就是什么

console.log("1");

console.log("hello");

变量:可变化的值

声明变量方式一:es5的写法

var a; //声明变量

a = 1; //变量赋值

a = 2; //可重新赋值

console.log(a); //输出变量

var b = 3; //声明变量同时赋值

var b = 5;

b = 4;

console.log(b);

console.log(3);

声明变量方式二:es6的写法

let c = 1; //声明变量并赋值

c = 2;

console.log(b);

声明变量方式三:es6的写法

const n = 123; //const定义的变量,不能被修改

n=234

console.log(n);

let m;

m=456

console.log(m);

const f;//const 定义的变量必须要初始赋值

console.log(x);

var x = 1;

一输出变量,就理解为你在使用这个变量

console.log(x);

console.log(window.x);

console.log(y);

let y = 2;

console.log(window.y);

一、字面量

二、变量

1、声明变量

2、变量赋值

3、更新变量

4、声明特殊

声明多个变量

只声明不赋值

输出未声明变量

不用var声明

同时声明多个变量

let a=1,b=2;

console.log(a);

console.log(b);

let m;//只声明不赋值,拿到的就是undfined

console.log(m);

console.log(x);

f = 1; //如果未声明,直接赋值,默认是使用var声明

面试题:vat let,const定义变量有什么区别

都可以向程序内存中申请空间,定义变量

let const 不可以重复定义相同的变量名

var 定义的变量默认是放在window中, let、const不予顶级对象window挂钩

const 定义的变量不能修改

let const声明的变量存在"暂时性死区",即必须先定义再使用,否则会报错

var可以先使用,再定义,不报错,存在变量提升

const 声明的变量,不能不赋值

在实际开发中,建议使用let,const,一些不允许修改的值,就用const

标识符

标识符(你起的名字)

在js中所有的可以由我们自主命名的,都可以称为标识符

例如:变量名、函数名、属性名都属于标识符

-规则(必须遵守):

a: 标识符号可以含有字母、数字、$、_

b: 标识符不能以数字开头

c: 标识符不能是ES中的关键字或者保留字 eg;var if class static

-规范(可做可不做):

a: 标识符一般都采用驼峰命名法

首字母小写,每个单词的开头字母大写,其余字母小写 eg:helloWorld xxxYyyZzz

b: js底层保存标识符,包含中文,但是千万不要这么用。

c: 变量名字要见名知意

css 复制代码
 <script>
      /* 
        标识符(你起的名字)
          在js中所有的可以由我们自主命名的,都可以称为标识符
            例如:变量名、函数名、属性名都属于标识符
         -规则(必须遵守):
 
         -规范(可做可不做):

    */
      // var let  = 1;
      // console.log(let);

      // let if1 = 1;
      let myName = "jack"; //小驼峰
      let MyName = "tom"; //大驼峰
      let a = "dana";
      // let mingzi = "lusi";
      // console.log(mingzi);
    </script>
相关推荐
ZI Keep Going2 小时前
前来填坑:Search Around the World全球联合部署搜索引擎
前端·javascript·搜索引擎
手握风云-2 小时前
JavaEE 进阶第十期:Spring MVC - Web开发的“交通枢纽”(四)
前端·spring·java-ee
孩子 你要相信光2 小时前
解决:React 中 map 处理异步数据不渲染的问题
开发语言·前端·javascript
Watermelo6172 小时前
面向大模型开发:在项目中使用 TOON 的实践与流式处理
javascript·数据结构·人工智能·语言模型·自然语言处理·数据挖掘·json
软件开发技术深度爱好者2 小时前
JavaScript的p5.js库使用详解(下)
开发语言·前端·javascript
沛沛老爹2 小时前
从Web到AI:金融/医疗/教育行业专属Skills生态系统设计实战
java·前端·人工智能·git·金融·架构
C_心欲无痕2 小时前
Next.js 的哲学思想
开发语言·前端·javascript·ecmascript·nextjs
hxjhnct2 小时前
Vue-Router 哈希路由 vs 历史路由详解
javascript·vue.js·哈希算法
海鸥两三2 小时前
登录页面form表单
前端·javascript·css