0529JavaScript基础

js简介http://www.cnblogs.com/majj/p/9092017.html

引入方式:1、行内js 2、内接式 3、外接式(和CSS一样)

第一个JavaScript代码

语法规则

学习程序,是有规律可循的,就是程序是有相同的部分,这些部分就是一种规定,不能更改,我们成为:语法。

(1)JavaScript对换行、缩进、空格不敏感。

      备注:每一条语句末尾要加上分号,虽然分号不是必须加的,但是为了程序今后要压缩,如果不加分号,压缩之后将不能运行。

(2)所有的符号,都是英语的。比如括号、引号、分号。

(3)JavaScript的注释:

JavaScript在网页中输出信息的写法

弹出警告框:alert("")

alert(英文翻译为“警报”)的用途:弹出“警告框”

控制台输出:console.log("")

console.log("")表示在控制台中输出。console表示“控制台”,log表示“输出”。(相当于print)

用户输入:prompt()语句

prompt()就是专门用来弹出能够让用户输入的对话框。

<script type="text/javascript">
        var a = prompt('今天是什么天气?');
        console.log(a);
</script>

用户输入的内容,将被传递到变量 a 里面。

prompt()语句中,用户不管输入什么内容,都是字符串。

alert和prompt的区别:

alert("从前有座山");                //直接使用,不需要变量
var a = prompt("请输入一个数字");   // 必须用一个变量,来接收用户输入的值

直接量:数字和字符串

“直接量”即常量,也称为“字面量”。看见什么,它就是什么。

(1)数值的直接量的表达非常简单,写上去就行了,不需要任何的符号。

(2)字符串也很简单,但一定要加上引号。可以是单词、句子等。

变量

变量的定义和赋值

ar是英语“variant”变量的缩写。后面要加一个空格,空格后面的东西就是“变量名”,

  • 定义变量:var就是一个关键字,用来定义变量。所谓关键字,就是有特殊功能的小词语。关键字后面一定要有空格隔开。

  • 变量的赋值:等号表示赋值,将等号右边的值,赋给左边的变量。

  • 变量名:我们可以给变量任意的取名字。

变量的命名规范

变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。

变量的命名规范

变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。

typeof()表示“获取变量的类型

在JavaScript中,只要是数,就是数值型(number)的。无论整浮、浮点数(即小数)、无论大小、无论正负,都是number类型的。

字符串型:string

连字符和加号的区别

键盘上的+可能是连字符,也可能是数字的加号。如下:

   console.log("我" + "爱" + "你");   //连字符,把三个独立的汉字,连接在一起了
    console.log("我+爱+你");           //原样输出
    console.log(1+2+3);             //输出6

总结:如果加号两边都是数值,此时是加。否则,就是连字符(用来连接字符串)。

变量格式转换

parseInt():字符串转数字

parseInt()可以将字符串转数字。parse表示“转换”,Int表示“整数”(注意Int的拼写)

parseInt()还具有以下特性

(1)带有自动净化的功能;只保留字符串最开头的数字,后面的中文自动消失。

(2)自动带有截断小数的功能:取整,不四舍五入

数据类型

数据类型包括:基本数据类型和引用数据类型

基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。

当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值

1.基本数据类型

number

string

boolean

null    空对象

undefined  表示变量未定义

2.引用数据类型

  • Function
  • Object
  • Arrray
  • String
  • Date

运算符

1.赋值运算符

以var x = 12,y=5来演示示例|

 

2.算数运算符

var a = 5,b=2

var a = 5;
    先对x赋值 再对a++
    var x = a++;

    先++ 后赋值
    var x = ++a;

3.比较运算符

var x = 5;

== 表示的值  === 值和数据类型

4.特殊情况

字符串拼接+字符串运算 特殊情况。

 NaN. ==== not a number 是number类型

将数值类型转换成字符串类型

隐式转换

var n1 = 123;
var n2 = '123';
var n3 = n1+n2;
// 隐式转换
console.log(typeof n3);

强制类型转换

强制类型转换String(),toString()
var str1 = String(n1);
console.log(typeof str1);

var num = 234;
console.log(num.toString())

将字符串类型转换成数值类型

var  stringNum = '789.123wadjhkd';
var num2 =  Number(stringNum);
console.log(num2)

// parseInt()可以解析一个字符串 并且返回一个整数
console.log(parseInt(stringNum))
console.log(parseFloat(stringNum));

任何数据类型都可以转换为boolean类型

 var b1 = '123';
    var b2 = 0;
    var b3 = -123;
    var b4 = Infinity;


    var b5 = NaN; //false
    var b6; //false
    var b7 = null; //false

    // 非0既真
    console.log(Boolean(b7));


流程控制

1.if 、if-else、if-else if-else


var
ji = 20; if(ji >= 20){ console.log('恭喜你,吃鸡成功,大吉大利') } alert('alex');//下面的代码还会执行

var ji  = 20;
if(ji>=20){
    console.log('恭喜你,吃鸡成功,大吉大利')
}else{
    console.log('很遗憾 下次继续努力')

if (true) {
   //执行操作
}else if(true){
    //满足条件执行            
}else if(true){
   //满足条件执行        
}else{
  //满足条件执行
}

注意:浏览器解析代码的顺序 是从上往下执行,从左往右

2.逻辑与&&、逻辑或||


//1.模拟  如果总分 >400 并且数学成绩 >89分 被清华大学录入
//逻辑与&& 两个条件都成立的时候 才成立
if(sum>400 && math>90){
    console.log('清华大学录入成功')
}else{
    alert('高考失利')
}
 
/2.模拟 如果总分>400 或者你英语大于85 被复旦大学录入
//逻辑或  只有有一个条件成立的时候 才成立
if(sum>500 || english>85){
    alert('被复旦大学录入')
}else{
    alert('高考又失利了')
}

3.switch(开关)

var gameScore = 'better';
switch(gameScore){

//case表示一个条件 满足这个条件就会走进来 遇到break跳出。break终止循环。如果某个条件中不写 break,那么直到
该程序遇到下一个break停止 case 'good': console.log('玩的很好') //break表示退出 break; case 'better': console.log('玩的老牛逼了')(结果) break; case 'best': console.log('恭喜你 吃鸡成功') break; default: console.log('很遗憾') }

4.while循环

循环三步走:

1.初始化循环变量

2.判断循环条件

3.更新循环变量


var i = 1; //初始化循环变量
while(i<=9){ //判断循环条件
    console.log(i);
    i = i+1; //更新循环条件
}

5.do_while

不管有没有满足while中的条件do里面的代码都会走一次
var i = 3;//初始化循环变量
do{
    console.log(i)
    i++;//更新循环条件

}while (i<10) //判断循环条件
6.for循环
for(var i = 1;i<=10;i++){
     console.log(i)
 }

双重fo循环

for(var i=1;i<=3;i++){  //1 2 3  行数
            
   for(var j=0;j<6;j++){   // 0 ~ 5
        document.write('*')/一行的*数
    }  #:文档对象.方法(write)
            
   document.write('<br>')
 }

 

posted @ 2018-05-29 21:40  Murray穆  阅读(123)  评论(0编辑  收藏  举报