JavaScript的程序设计基础
来源:互联网 发布:淘宝手机单怎么刷视频 编辑:程序博客网 时间:2024/05/29 19:28
今天主要讲解了JS程序设计基础相关是一些知识。先说一下其中的几个吧。其中有:数据类型、变量、对象类型和各种运算符的表达式。现在就系统的写一下。
2.1 数据类型(也可称为常规数据类型与变量)
其实计算机程序就是处理现实中的各种数据。包括三种类型:字符串(string)、数值(number)和布尔类型(boolean);还包括了警告提示框(打印)alert(),数据的类型typef()。
但是为什么要有数据类型呢?
这是因为生活中是存在不同的数据类型的,计算机要解决生活中的问题,那么它就和生活中的数据类型产生了映射,所以就有了数据类型。
2.2 变量
为什么要有变量?是因为生活中的数据不是一成不变的,其中有一些数据是会改变的,JS是为了解决生活中的问题,产生了映射,所以JS中有了变量与之相对应。
变量:var variable的缩写,是变量的意思。声明一个变量。
变量名:name(可取任意名字,但要见名知意)
命名也是有规则的。1、关键字不能用;2、一般情况下,只能用英文开头,也可以是$和_(但是不推荐使用),也不能用数字开头,因为会和八进制、十六进制产生冲突。
例如:
var 1name="hiaafn"
3、见名思义。尽量使用英文单词或者组合,或者专业名词。如weight、filename;还有就是不要使用拼音。
现在来说说其他一方面的知识。
变量的值:变量的类型是由变量的值来决定的。
系统会为不同的类型分配不同大小的空间来存储数据。如果是布尔类型就分配一个字节的大小来存储,如果是数字和字符,那么久根据它的大小和长度来分批字节数来存储。其实JS是弱类型的语言,所有的类型的变量都是用var来声明。又叫动态类型的语言,变量的类型会根据值的变化而变化,不会出错。
JS语言特点:更加高级,不严谨。不严谨体现:变量不声明就可以使用。如:
weight = "中等";
alert(weight);
要是使用严谨的格式,就必须先定义变量才能使用变量。如:
"use strict";
weight = "中等";
alert(weight);
2.3 对象类型
对象在JS中对应的是Object
先写一段代码,了解一下对象类型。定义一个对象:
<script>
var dog = {name:"豆豆",type:"狮子狗",color:"white",
sex:"雄",age:2,marry:false};
alert(typeof (dog.age));
</script>
下面是使用new Object()定义一个对象类型的变量:
vardog = newObject();
dog.name="doudou";
dog.age=3;
dog.marry=true;
alert(typeof(dog));
alert(typeof(dog.name));
alert(typeof(dog.age));
alert(typeof(dog.marry));
生活中处处皆对象,计算机中也是需要有对象的,其中包括一些东西。所以JS中有这样的对象类型。
2.4 算术运算符与表达式
现实中常见的算术运算符有+、-、x、÷;对应的计算机中的算术运算符为+、-、*、/。运算的前提是数值才能进行运算,如果不是数值进行加减乘除运算时就会出错。还有一个取余运算符,在JS中用%表示,作用:得到两个数的余数。如:
varnum1 = 10;
var num2=3;
var result=num1%num2;
alert(result);
使用技巧:可以解决周期性的问题。
vardate= 2;/*计算12天之后是星期几*/
date =12% 7;
alert(date);
加法运算:
var weight = 65;
weight = weight + 10;
alert(weight);
字符串拼接(字符串)
var dogName = "zhangsan";
dogName = dogName + "feng";
alert(dogName);
减法:
var num1 = 10;
var num2 = 3;
var result= num1- num2;
alert(result);
乘法:
var num1 = 10;
var num2 = 3;
var result= num1* num2;
alert(result);
除法:
var num1 = 10;
var num2 = 2;
var result= num1/ num2;
alert(result);
那++num和num++有什么区别呢?
①++num是先加在用
var num1 = 1;
alert(++ num1);
等价于:
num1 = num1 + 1;
alert(num1);
②num++是先用再加
var num1= 1;
alert(num1 ++);
等价于:
alert(num1);
num1 = num1+1;
2.5 关系运算符与表达式
生活中常见的关系运算符:大于(>)、小于(<)、等于(=)、大于等于(>=)、小于等于(<=)、不等于(!=)
还有其中的一些常见的小问题,判断两个数是否相等,要用两个等号,与生活常识不太一样,要避免这样的情况发生,就是把常量放在前面,把变量放在后面。
绝对想等:变量的值和类型都相等,使用 === 来表示;
绝对不等:变量的值好类型都不相等,用 !== 来表示。
var num = 2;
var str = "2";
alert(num!== str);
var num = 2;
var str= "2";
alert(num!= str);
2.6 逻辑运算符与表达式
①与:两者同时成立,结果才能成立,第一个关系是true,第二个关系也是true,那么结果才是true。
如果有一个或多个false时,结果为false
在JS中用&&表示
var num1= 10;
var num2= 20;
alert(num1 < 20&& num2 > 10);
②或:至少有一个关系成立,那么结果也成立。就是一个关系为true那么结果也为true,在JS中用||来表示。
var num1= 10;
var num2= 20;
alert(num1 > 20|| num2> 10);
③非:结果为原身的对立面,就是当关系成立时,非之后就变为不成立。非true之后结果变为false。在JS中用 !表示
var num= 10;
alert(!(num >10));
2.7 赋值运算符与表达式
将一个数据赋值给一个变量。赋值运算是表示将一个数据存储到某个内存单元中(变量)
var num = 1;
varnum =1;
num +=10;
2.8 位运算符与表达式
如何得到一个数的二进制
var num= 5;
alert(num.toString(2));
①与:首先要把数转化为二进制数。
运算法则,只有两者同时为1时结果才为1,其余为0;
按位运算,不足的在二进制前补0。例如:计算5和6的运算,5:101,6:110,结果:100。
var num = 5;
var num1 = 6;
alert(num.toString(2) &num1.toString(2));
②或:两个数有一个为1那么结果就为1,然后按位运算
var num= 5;
var num1= 6;
alert(num.toString(2) |num1.toString(2));
③异或:两个值相同结果为0,两个值不同是结果为1。
var num= 5;
var num1= 6;
alert(num ^ num1).toString(2));
今天有学习了这么多的知识,有的理解了,有的还没有理解透彻,还需要更加努力。希望我写的这些能给你带来帮助。
- JavaScript的程序设计基础
- JavaScript的基本概念及程序设计基础
- JavaScript程序设计之语法基础
- JavaScript程序设计基础篇:函数
- JavaScript程序设计基础篇:数组
- JavaScript 程序设计基础(01) -- 创建对象的方式
- JavaScript基础——面向对象的程序设计
- 《 JavaScript高级程序设计》第二章ECMAScript基础
- 《 JavaScript高级程序设计》第三章 对象基础
- 《 JavaScript高级程序设计》第六章 DOM基础
- JavaScript高级程序设计学习笔记1: 基础
- javascript高级程序设计学习(一)-----js基础
- web程序设计之javascript基础(2)
- JavaScript程序设计之HTML文档基础
- JavaScript程序设计:基础·PHP·XML
- 《Javascript高级程序设计》面向对象的程序设计
- 程序设计基础之:选择结构的程序设计
- JavaScript 程序设计基础(02) -- 表单,常用的表单类型介绍,外部样式表
- shell常用命令
- 阿里云服务器&域名
- Maven Archetypes Part 1:从哪里开始?
- 04. JQuery Ajax 与 PHP,JSP实例
- CentOS7下搭建稳定版ActiveMQ5.15.0
- JavaScript的程序设计基础
- git two
- 宁波市第31届中小学程序设计比赛模拟试题 match 九宫格填字母
- H5基础知识第十三课时(正则表达式)
- poj-2818-密码-C语言
- Maven Archetypes Part 2:怎样创建我的第一个jar?
- HLS协议详解
- 如何从零开始写一个即时通讯软件(附源码)
- 《reinforcement learning:an introduction》第五章《Monte Carlo Methods》总结