IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript(二)js引入,变量,值类型,运算符 -> 正文阅读

[JavaScript知识库]JavaScript(二)js引入,变量,值类型,运算符

一.主流浏览器及其内核

?

IE? ? ? ? ? ? ? ? ? ? ? ? ? ? trident

Chrome? ? ? ? ? ? ? ? ? webkit/blink

firefox? ? ? ? ? ? ? ? ? ? ?Gecko

Opera? ? ? ? ? ? ? ? ? ? ? presto

Safari? ? ? ? ? ? ? ? ? ? ? webkit

二.如何引入js

1.页面内嵌<script></script>标签

         <script type="text/javascript">

                document.write('hello world!!!');

                
            </script>

2.外部引入<script src="location"></script>

HTML文件里:<script type="text/javascript" src="input.js"></script>

创建JS文件,命名为input.js:document.write('hello world!!!');

3.注意

为符合web标准(w3c标准中的一项)结构、样式、行为相分离,通常采用外部引入。

如果一个script里又有内部又有外部,外部运行,内部的不好使。

输出用document.write(括号里写需要输出的);

三.js基本语法(解释性语言解释一行执行一行)

1.变量(variable)

? ? ? ? ? 变量声明

  • ? ? ? ? ? ? ? ? 声明、赋值分解
  • ? ? ? ? ? ? ? ? 单一var

eg:两种表达方式一样

var a=10,b=20,c=30;

var a=10,

? ? ??b=20,

? ? ? c=30;

注意:var a=10;

? ? ? ? ? ? a=20;(会替换上面的a=10)

JS由值决定类型【动态解释语言】(其他语言是由类型决定值,例如C语言中:int,float,char)

? ? ? ? ? ?var a=10;

? ? ? ? ? ?a="abc";? ? ? ? ?a会被字符串替换

2.命名规则?

  • ? ? ?变量名必须以英文字母、_ 、$开头
  • ? ? ?变量名可以包括英文字母、_ 、$、数字
  • ? ? ?不可以用系统的关键字、保留字作为变量名??? ? ? ? ? ? ? ? ? ??

3.值类型----数据类型

? ? ? ? ? ?1.不可改变的原始值(栈数据)

? ? ? ? ? ? ? ??Number(数字类型):var a=-123.234;? ?var b=123;

? ? ? ? ? ? ? ? String(字符串类型):? var b="abc";? ?var c="喜羊羊美羊羊“;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (不管双引号里面写啥都能显示都叫字符串)

? ? ? ? ? ? ? ? Boolean(布尔类型):? var b=true; var a=false;(逻辑中的正误,直接输出true,false)

? ? ? ? ? ? ? ? undefined:var b=undefined;(一个变量没赋值)

? ? ? ? ? ? ? ? null :表示一种占位 var b=null;(用空值覆盖不需要的值,做替换)

? ? ? ? ? ?2.引用值(堆数据)

? ? ? ? ? ? ? ? ?array(数组类型): var arr=[1,2,3,4,5,false,"abc"];

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(很多数据放进一个数组里就是一个数组)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??var arr =[1];

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? var arr1=arr;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? arr.push(2);(push是填一个数据在数组里面)

? ? ? ? ? ? ? ? ?object(对象类型)

? ? ? ? ? ? ? ? ?function(方法类型)

原始值和引用值的区别:赋值形式不同

1.?原始值是:把一个值放进另一个值里面去,改了第1个值,第2个值不会变(不变

? ? 引用值是:把一个值放进另一个值里面去,改了第1个值,第2个值也会变? (

2.原始值存放在栈(stack),引用值存放在堆(heap)

栈:先进入的最后出来(跟往裤兜揣东西似的,先揣进去的最后拿出来)

? ? ?刚开始放数据从栈底开始(1011),把一个栈里的东西放到另一个栈里叫拷贝,所以他们之间互相不影响。eg:var a=10; var b=a; a=20;(改了第一个栈里的数值,第二个里面数值不变)

?

正儿八经系统改变值的过程是(上面a的值直接改在原来的地址里是便于理解):

最后把第一个num改成1011(原始值不可改变的特点

堆:栈内存里放的是堆内存的地址,引用值拷贝过去的是地址

eg: var arr=[1,2]; var arr1 = arr; arr.push(3)【往原数组里头插入一个3】;

(地址相同,一个改了另一个跟着改)

eg:【重新开一个房间】

arr[1,3]相当于原始值改变数值,另外开一个房间(1002)存放,所以打印出来的arr1还是[1,2]?

?

4.js语句基本语法

? ? ?1.语句后面要用分号结束 “;”,不用加的情况如下:

? ? ? ? ? function test() {}??函数后面不用加;

? ? ? ? ??for() {}? 后面不用加;

? ? ? ? ??if() {}? 后面不用加;

? ? ? 2.js语法错误会引发后续代码终止,但不会影响其他js代码块

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (一个html文件可以放好多script代码块并且可以互相引用)

? ? ? ? ? ? ? ? ? ? ?

?

  • ? ? ? ? ? ? ?低级错误(语法解析错误):出现中文字符,整个代码都不能执行
  • ? ? ? ? ? ? ?逻辑错误:eg出现未声明变量就引用
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (解释一行执行一行,哪错报哪,后面的代码就不执行)

? ? ? 3.书写格式要规范,“=+/-”两边都应该有空格

四.js运算符

?1.运算操作符(先计算后赋值)

? ? ? ?(1)“+”

? ? ? ? ? ? ? ? ? a.数学运算、字符串链接

eg:字符串链接:var a="a"+"b";? document.write(a);答案是ab

? ? ? ? ? ? ? ? ? b.任何数据类型加字符串都等于字符串

eg:var a="a"+1+1;? document.write(a);答案是a11

eg:var a=1+1+"a"+(1+2);document.write(a);答案是2a3

? ? ? ?(2)“-” “*” “/” “%” “=” “()”

eg:var a=0/0;答案是NaN(Not A Number)

? ? ? ? ? ? ? ? ? 凡是这种可以得出一个数字类型的值,又不能得出数的 返回NaN

? ? ? ?(3)优先级“=”最弱,“()”优先级最高

赋值可以连续:var a=b=10;

? ? ? ?(4)"++"? "--"? "+="? "-="? "/="? "*="? "%="

注意:b %= a+3;必须先算右边和的值,然后再做赋值运算

eg:交换ab的值法2? ? ? ?法1直接引入第三个变量

?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-11 23:54:12  更:2022-01-11 23:54:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:24:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码