JavaScript初步1
来源:互联网 发布:php cgi 管理程序 编辑:程序博客网 时间:2024/06/06 00:58
JavaScript初步1(基本的数据的类型)
- JavaScript初步1基本的数据的类型
- JS介绍
- 2JS书写的位置
- 3JS执行过程的小得原理
- 4输出消息的几种方式
- 5JS注释
- 6JS变量
- 7基本数据类型
- 71数字类型
- 712进制问题
- 712浮点精度丢失问题
- 713数值范围问题
- 714NaN问题
- 72字符数据类型
- 721字符串的不可变
- 73布尔数值类型
- 731转化成为Boolean数据类型
- 74undefined类型和Null
- 71数字类型
- 8数据类型的转换
- 81转化为字符串的数据类型
- 82转化为数值的数据类型
- 83转化为布尔的数据类型
- 9运算符
- 10特殊的算术运算符
- 11数组的使用
- 111数组的创建
- 12进制的转化
1.(JS)介绍
◆js是一款运行在客户端的网页编程语言。
◆组成部分
★ecmascript js标准
★dom 通过js操作网页元素
★bom 通过api操作浏览器
◆特点
★简单易用
★解释执行
★基于对象
面向过程
作用
◆表单验证
◆轮播特效
◆开发游戏
1.验证表单(以前的网速慢)
2.页面特效(PC端的网页效果)
3.移动端(移动web和app)
4.异步和服务器交互(AJAX)
5.服务端开发(nodejs)
1、User Interface 用户界面,我们所看到的浏览器
2、Browserengine 浏览器引擎,用来查询和操作渲染引擎
3、Renderingengine用来显示请求的内容,负责解析HTML、CSS
4、Networking 网络,负责发送网络请求
5、JavaScriptInterpreter(解析者) JavaScript解析器,负责执行JavaScript的代码
6、UI Backend UI后端,用来绘制类似组合框和弹出窗口
7、Data Persistence(持久化) 数据持久化,数据存储 cookie、HTML5中的sessionStorage
(2)JS书写的位置
- 内嵌式
- 外链式
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> alert("14期霸气"); alert("14期威武"); </script></head><body> 14期霸气!</body></html>
写js代码的时候,分号不能省略
推荐将JS代码写在html结束标签后边
将多个JS文件合成为一个JS文件(加快页面的加载的速度)
(3)JS执行过程的小得原理
一:html页面中出现
(4)输出消息的几种方式
alert() 在页面弹出一个对话框,早期JS调试使用
Confirm() 在页面弹出一个对话框, 常配合if判断使用点击确定返回true点击取消返回false
Confirm() 在页面弹出一个对话框, 常配合if判断使用
console.log() 将信息输入到控制台,用于js调试
console.log("huanghe");console.error("我是错误");console.warn("我是肩高");
prompt() 弹出对话框,用于接收用户输入的信息
var num=prompt("输入电话号码");//num用来接收输入的数值
document.write()在页面输出消息,document.write不仅能输出信息,还能输出标签
document.write("<strong>huanghe</strong>");
转义字符
alert("中\"国\"");\”转双引\’转单引\n转换行\r 转回车
(5)JS注释
快捷键 ctrl+/
单行注释 //
多行注释 /* */
(6)JS变量
◆不能以数字或者纯数字开头来定义变量名。
◆不推荐使用中文来定义变量名。
◆不能使用特殊符号或者特殊符号开头(-除外);
◆不推荐使用关键字和保留字来定义变量名
★在JS中严格区分大小写的!!!
–变量的命名遵守驼峰命名法,首字母小写,第二个单词的首字母大写
•规则(必须遵守)
–由字母、数字、下划线、$组成
–区分大小写
–不能是关键字和保留字
•规范(建议遵守)
–变量的名称要有意义
–变量的命名遵守驼峰命名法,首字母小写,第二个单词的首字母大写
例如:userName
变量是在计算机中存储数据的一个标识符。 变量可以在声明的时候赋值,也可以稍后赋值。例如:var number = 50;var name = "李四";或者var name; name = “张三”; (内存显示)可以在一行上定义多个变量 var name,age,sex;
(7)基本数据类型
(7.1)数字类型
(7.1.2)进制问题
◆Number 数字类型
包含正数 负数 小数
★十六进制表示法
从0-9,a(A)-f(F)表示数字。以0x开头
var n1=0x43;//十六进制表示的数字
★八进制表示法
var n5=0345;//八进制表示的数字
0开头,0-7组成。
(7.1.2)浮点精度丢失问题
浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数 var result = 0.1 + 0.2; // 结果不是 0.3,而是:0.30000000000000004 console.log(0.07 * 100); 永远不要测试某个特定的浮点数值(不要判断两个浮点数是否相等)
(7.1.3)数值范围问题
由于内存的限制,ECMAScript 并不能保存世界上所有的数值最小值:Number.MIN_VALUE,这个值为: 5e-324最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308无穷大:Infinity无穷小:-Infinity
(7.1.4)NaN问题
NaN 非数值(Not a Number)console.log(“abc”/18); //结果是NaNundefine 与任何类型的数值进行计算其结果都是NaNNaN 与任何值都不相等,包括 NaN 本身isNaN() :任何不能被转换为数值的值都会导致这个函数返回 true isNaN(NaN);// trueisNaN(“blue”); // trueisNaN(123); // false
(7.2)字符数据类型
◆字符串 String
凡是用双引号或者单引号引起的都是字符串。
var a="huanghe";var b='huang';
•要想打印”或者’怎么办?
–var str = “hello\”itcast\”“; //打印输出hello “itcast”
(7.2.1)字符串的不可变
ECMAScript 中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量例如:var str = "123"; str = str + "abc";
如果另外的赋值就需要重新的开辟空间;垃圾回收机制会自动的回收“ac”
(7.3)布尔数值类型
◆布尔数据类型 Boolean
只有2个值一个是true, 一个是false. 实际运算中true=1,false=0
var n1=2;var n2=3;alert(n1==n2);//false 错误的alert(n1<n2);//true正确的
Boolean类型有两个字面量:true和false,并且区分大小写!虽然Boolean 类型的字面值只有两个,但 ECMAScript 中所有类型的值都有与这两个 Boolean 值等价的值例如:var result = Boolean("a");console.log(result); //结果是truevar result = Boolean(100); console.log(result); //结果是true
(7.3.1)转化成为Boolean数据类型
•任何类型可以转换成Boolean类型,一般使用在流程控制语句后面
–例如:
var message=”hello”;
if(message){ alert(message+”world”) };
(7.4)undefined类型和Null
◆undefined 变量未初始化
定义了变量,没有给变量赋值
var n1;//undefined定义了变量,没有给变量赋值,变量在内存中是存在的alert(n1);
◆null 变量未引用 值为空 object
var n2=null;//在内存中找不到这个变量
null和undefined有最大的相似性。看看null == undefined的结果(true)也就更加能说明这点。但是null ===undefined的结果(false)。不过相似归相似,还是有区别的,就是和数字运算时,10 + null结果为:10;10 + undefined结果为:NaN。
任何数据类型和undefined运算都是NaN; 但是字符串和undefine的运算是String类型的(undefined)
任何值和null运算,null可看做0运算。
(8)数据类型的转换
(8.1)转化为字符串的数据类型
任何类型转化为string的三种方法
- 变量+“ ” | 或者是 变量+“abc”
- string(变量);
- 变量.toString() (注意null和undefined是没有toString方法的)
(8.2)转化为数值的数据类型
此转换容易出现NaN,一旦被转换的变量中含有非数字字符,都是容易出现NaN的
- * / Number(str); 不能把Number(12.34ab)转化为12.34,得到的数值是NaN◆parseInt![img](file:///C:/Users/huanghe/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png)★整数数字类型的字符串,转换之后得到的整数数字。★数字开头的字符串,转换之后得到的是前边的数字。★非数字开头的字符串,转换之后得到的是NaN。★小数类型的字符串,转换之后取整。◆parseFloat★整数数字类型的字符串,转换之后得到的整数数字。★数字开头的字符串,转换之后得到的是前边的数字。★非数字开头的字符串,转换之后得到的是NaN。★小数类型的字符串,转换之后得到的是原数字。
(8.3)转化为布尔的数据类型
Boolean()!!变量第一个逻辑非操作会基于无论什么操作数返回一个与之相反的布尔值第二个逻辑非操作则对该布尔值求反于是就得到了这个值真正对应的布尔值!!主要就是这两种方法
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head><body><script> //转换成字符串// var bool = true;// var num = 111;// var aaa;// var bbb = null;//// console.log(typeof(bool+""));// console.log(typeof(num+""));// console.log(typeof(aaa+""));// console.log((aaa+""));// console.log(typeof(bbb+""));//// console.log(typeof(String(bool)));// console.log(typeof(num.toString())); //转换成数字// var str = "11";// var bool = true;// console.log(typeof (str-0));// console.log(typeof (bool-0));// console.log(typeof (str*1));// console.log(typeof (bool*1));// console.log(typeof (str/1));// console.log(typeof (bool/1));// console.log(typeof typeof (bool/1)); //数据类型是用string定义的//// console.log(typeof Number(str));// console.log(typeof Number(bool));////// var str2 = "12.34abc";// var str3 = "12.34";// console.log(parseInt(str2));// console.log(parseFloat(str2));// console.log(Number(str3)); //布尔类型转换 var date = new Date(); // console.log(Boolean(0)); console.log(Boolean("")); console.log(Boolean(null)); console.log(!!1); console.log(!!"abc"); console.log(!!date);</script></body></html>
(9)运算符
alert(typeof(n3));//和C语言中的typeof是一样的,但是在java语言中是没有的
1.1 &&和||运算 &&链接两个boolean类型,有一个是false结果就是false。链接值不是布尔类型时,按照成布尔类型计算,结果本身不变。(非布尔)例子: 1 = 2&&1; 0 = 0 && 1; 都是true取后面,都是false取前面。||链接两个boolean类型,有一个是true结果就是true。链接值不是布尔类型时,按照成布尔类型计算,结果本身不变。(非布尔)例子:2= 2||1;1 = 0|| 1;都是true取前面,都是false取后面。
(10)特殊的算术运算符
★一个数字类型和一个字符串相加,得到的是一个字符串。这个是和java是一样的
★一个数字类型和一个数字字符串相减(将数字的字符串转化为数字),得到的是一个数字类型。
★一个数字类型和一个非数字字符串相减,得到的是NaN,是一个数字类型。Not a number
◆/ 除号
★两个数字类型的变量相除,得到的是一个数字类型。
★一个数字类型和一个数字字符串相除,得到的是一个数字类型。
★一个数字类型和一个非数字字符串相除,得到的是NaN,是一个数字类型。
★0做为除数的时候,得到结果 Infinity (无限大),是一个数字类型。
◆% 取余数
◆优先级 有()先计算()里边的
(11)数组的使用
(11.1)数组的创建
数组:数据的有序列表,可以存放任意类型的数据,数组的大小可以动态调整。创建数组的两种方式方式1,数组字面量var arr1 = []; //创建一个空数组,数组字面量var arr2 = [1, 3, 4]; //创建一个包含3个数值的数组,多个数组项以逗号隔开var arr3 = ["a", "c"]; // 创建一个包含2个字符串的数组方式2,Array的构造函数var arr4 = new Array(); // 创建一个空数组var arr5 = new Array(10); // 创建一个长度为10的数组var arr6 = new Array("black", "white", "red"); // 创建一个包含3个字符串的数组
获取数组中的值var colors = ["black", "white", "red"]; console.log(colors[0]); //获取第一个元素的值colors["1"] = "blue"; //给第2个元素重新赋值console.log(colors);colors["4"] = "yellow"; //设置第5个元素的值,此时数组中有5个元素console.log(colors);length属性,获取或设置数组中元素的个数console.log(colors.length);//获取数组中元素的个数colors.length = 1; //设置数组中元素的个数console.log(colors);
var arr=[65,97,76,13,27,49,58];var sum=0var j=0;var max;for (var i = 0; i < arr.length; i++) { sum+=arr[i];}console.log(sum);var average=sum/(arr.length);console.log(average);for (var i = 1; i < arr.length; i++) { if (arr[j]<arr[i]) { j=i; max=arr[j]; }}console.log(j,max);var arr1=arr.join("|");console.log(arr1);for (var i = 0; i < arr.length/2; i++) { var temp=arr[i]; arr[i]=arr[arr.length-1-i]; arr[arr.length-1-i]=temp;}console.log(arr);for (var m = 0; m < arr.length-1; m++){ for (var n = arr.length-1; n>m; n--) { if (arr[n-1]>arr[n]) { var temp=arr[n]; arr[n]=arr[n-1]; arr[n-1]=temp; } }}console.log(arr)
(12)进制的转化
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head><body><script> //了解 //一个参数,取整。 两个参数,进制转换。 //任意进制转换成十进制。 var shiNum = parseInt(111,2); console.log(shiNum); //toString(); 无参转换成字符串。 带参进制转换。 //十进制转换成任意进制 var num = 10; var renyi = num.toString(16); console.log(renyi);</script></body></html>
- javascript初步学习1
- JavaScript初步1
- Javascript初步
- javascript初步.
- JavaScript初步
- Web前段初步——javascript(1)
- JavaScript基础(1)——初步认识JavaScript
- 初步学习JavaScript
- JavaScript 认识初步..
- 初步认识JavaScript
- 初步了解JavaScript
- JavaScript初步总结
- Javascript——初步
- JavaScript 闭包初步
- javascript初步学习---day2
- 【JavaScript】基础知识初步认识
- 初步学习JavaScript
- JavaScript初步了解
- 《Microsoft Power BI数据可视化与数据分析》之前言
- Algorithm之路二十:Valid Parentheses
- 浅谈Java中的hashcode方法
- xLog日志文件写入改成24小时制
- Linux永久关闭防火墙
- JavaScript初步1
- python 合并字典的方法
- 20171218日记账流水(复盘)
- web加载网页设置
- ORACLE数据库创建表空间ORA-03206报错的解决方案
- Android 内存优化
- Docker下实战zabbix三部曲之三:自定义监控项
- mysql存储过程+游标循环遍历 判断 赋值 等实例一
- JS的内置对象2