| |
|
开发:
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 二.如何引入js1.页面内嵌<script></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)? ? ? ? ? 变量声明
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代码块并且可以互相引用) ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? 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项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |