Javascript第一周学习

认识Javascript

编译型:在运行程序之前,首先检查语法是否正确,如果不正确,直接不允许运行
使用严格,比如:Java/C++/C#等
解释型:在运行程序之前,不需要先检查语法是否正确,直接执行,但是碰到错误就会停止后续代码
使用更加自由,比如:JavaScript、PHP、Node.js…
弱类型:变量保存的数据是随意的,其数据类型是由数据来决定的
相对而言也更加的自由
1 - Number 数字
“1” - String 字符串

强类型:变量保存的数据,是由数据类型来决定的
更加的严格,比如:Java
面向对象

		对象名.属性名;
		对象名.方法名();

Javascript使用

  1. 使用方式:
    直接在HTML页面上写一个script标签,里面就可以写入js代码
  2. 外部js,进行引入
    方式:
    创建一个xx.js的文件,里面书写js代码
    在HTML页面引入,只要有了src属性,此处就不可以在写代码了
    输出方式/断点输出:帮助我们检查错误:
    在控制台输出日志 :console.log(想要输出/查看的东西);
    会在F12的console里显示日志
    在页面上输出日志 :document.wrtie(想要输出/查看的东西);
    document当前文档 write写入:在页面上输出,而且支持识别标签 :绑定了点击事件后输出,会把页面上原来的HTML和CSS都全部替换掉
    在警告弹出框输出日志 :alert(想要输出/查看的东西);
    在一个浏览器自带的弹出框中输出日志,但是弹出框会卡住页面,用户只能看到一个白板

变量于常量

变量:创建后,值可以再次修改
何时使用:以后反复使用到的数据,要提前保存在一个变量中,之后使用变量名,相当于使用变量的值
如何使用:var 变量名=值;
特殊

  1. 变量名的命名方式
    1、不能以关键字命名
    2、不能以数字开头
    3、建议下划线命名法 或 小驼峰命名法

    			name,age,gender,weight,height,hobby 
    			xingming,nianling,xingbie,tizhong,shengao,aihao 
    			更不推荐:a,b,c,d,d1,d2,d3...
    
  2. 当变量名为name,不管保存的数据为什么类型,都会悄悄的转变成一个字符串

  3. 多个变量创建可以简写:

    		var 变量名1=值1,变量名2=值2,....;
                常量:创建后,值不可以再次修改,只能设置一次值
    	生活中的常量:
    		PI - 3.1415926....
    		一个小时60分钟....
    		一天24个小时
    		一年365/366天
    	语法:const 常量名=值; 
    

算数运算符

%:读作取余,俗称模,两个数相除,不去商,而取其除不尽的余数
判断奇偶性:num%2,结果为0说明是偶数,结果为1说明奇数( 以后可以用于判断)
获取一个数字的倒数n位
例如:

				1234%10 	->	4
				1234%100	->	34
				1234%1000	->	234

+运算:如果左右两边出现了一个字符串,都会悄悄的转为字符串,+运算不再是+运算,而是字符串的拼接
-*/%:字符串也可以变为数字,前提:必须是纯数字组成的字符串
若字符串包含了非数字字符,直接转为NaN:Not A Number (不是一个数字,但确实是数字类型),其缺点有:
1、参与任何算术运算,结果仍为NaN
2、参与任何比较运算,结果都是false
数据类型
原始/基本/值类型:5个

		Number - 数字,取值:无数个
		String - 字符串,取值:无数个,必须写上'' 或 ""
		Boolean - 布尔,取值:两个:true/false 用于判断比较的条件时使用
		Undefined - 取值:1个:undefined,创建了一个变量,没有赋值,默认值为undefined,用来做大部分操作都会报错!
		Null - 空,取值:1个:null,释放变量/内存,节约内存空间

引用/对象类型:11个引用类型的对象(很多很多的属性和方法)
扩展:用户输入弹出框: var user=prompt(“提示文字”,“默认值”)

数据类型转化
不同的数据类型做操作可能出来的结果是不一样的:JS获取页面上的一切东西,数据类型默认都是一个字符串,typeof(想要查看的东西)
Number + Number = Number
Number + String = String
默认:悄悄的将左右两边的东西,转为一个数字,再运算
特殊
别的数据类型其实也可以转为数字
true->1
false->0
undefined->NaN
null->0
NaN:Not A Number:不是一个数字,但是确实是数字类型,不是一个有效数字
显示/强制转换:强制转为我们需要的类型,再做操作

  1. 转字符串:var
    str=x.toString();(x不能是undefined或null,因为undefined和null不能使用任何的.操作)
    页面上的一切东西,数据类型默认都是一个字符串

  2. ***转数字:

    	1、*parseInt(str/num);	parse->解析  Int->整型
    		执行原理:专门为字符串和小数转为整数数字准备的,从左向右依次读取每个字符,碰到非数字字符,就停止转换,
    			 如果一来就碰到了不认识的,则为NaN
    	2、*parseFloat(str);		parse->解析  Float->浮点型
    		执行原理:几乎和parseInt一致,认识第一个小数点
    	3、Number(x);万能方法
    

function基础

  1. Function:函数,称之为方法:需要提前“预定义好”的,以后就可以“反复使用”的“代码段”

  2. 如何使用:

    1、定义/声明/创建函数:
    	function 函数名(){
    		若干的代码
    	}
    
    2、调用/使用函数:
    	1、要么在js中直接固定写死,要执行几次:函数名();
    	2、交给用户绑定在某个元素上,写上点击事件,让用户来触发:
    		<elem onclick="js代码">内容</elem>
    
  3. 何时使用:

    1、不希望打开页面立刻执行,而在需要时再使用 或 由用户来触发
    2、希望能够反复执行,不用刷新页面
    3、以后任何一个独立的功能体,都要单独封装为一个函数
    4、函数的地位非常高,函数是第一等公民地位,随时随地考虑能不能封装为一个函数,尤其是重复的代码
    5、函数内的一切内存,函数调用完毕后都会自动释放
    

    4、带参数的函数:

    创建:形参:形式参数,其实就是一个变量,但是不需要写var,而且默认也没有保存任何值,默认值为undefined
    	function 函数名(形参,形参,...){
    		函数体;
    	}
    
    使用:实参:实际参数,真正的值,需要再你调用时再传入
    	函数名(实参,实参,...)
    
    特殊:1、传实参的顺序一定要和形参的顺序一一对应,并且数量也要对应
         2、不是一定要带参数的函数才是好函数,具体情况,需要具体分析:
    		如果函数体是固定的,则为普通函数
    		如果函数体希望根据传入的实参不同,做的略微不同,则为带有参数的函数  
    

分支结构

  1. 程序的流程控制语句:

    1、顺序执行 -> 默认,从上向下的依次执行
    2、分支结构 -> 通过条件的判断,选择部分代码执行
    3、循环结构 -> 通过条件的判断,选择要不要重复执行某些代码
    
  2. 比较运算符:“>” ”<“ ”>=“ ”<=“ ”==“ ”!=“

    用于做判断/比较的
    结果:一定是一个布尔值
    强调:如果你想要判断多个条件,绝对不能像数学的写法去写
    解决:逻辑运算符
    
  3. 逻辑运算符:

    &&:与,并且:要求全部条件都要满足,最后的结果才为true
    	           只要有一个条件不满足,结果则为false
    
    ||:或:要求全部条件都要不满足,最后的结果才为false
               只要有一个条件满足,结果则为true
    
    !:颠倒布尔值
    
  4. 分支的语法:

  5. 一个条件,一件事,满足就做,不满足就不做
    	if(条件){
    		操作
    	}
    一个条件,两件事,满足就做第一件,不满足就做第二件
    	if(条件){
    		操作
    	}else{
    		默认操作
    	}
    
    多个条件,多件事,满足谁就做谁
    	if(条件1){
    		操作1
    	}else if(条件2){
    		操作2
    	}else{
    		默认操作
    	}
    

循环结构
反复执行 “相同”或 “相似”的操作
循环三要素:
1、循环条件:开始 - >结束,循环的次数
2、循环体:做的操作是什么
3、循环变量:记录着我们当前在哪一次,而且他会不断的变化,往往都会向着不满足循环条件进行

1、while循环:
	语法:
	var 循环变量=几;
	while(循环条件){
		循环体;
		循环变量变化;
	}
    执行原理:首先创建了循环变量,然后判断条件,如果条件满足,则做“一次”循环体操作,并不会退出循环,回过头继续判断条件满足吗,如果满足,则再做“一次”循环体操作.......
	     直到循环条件不满足,才会退出循环
    宏观上感受循环一瞬间就结束了,但是微观上来说其实是“一次一次”执行的
    1、当不知道从何开始,到何处结束时,会产生死循环:永远不会停下来的循环
	何时使用:不确定循环次数的时候
		while(true){
			循环体;
		}
	
        2、退出循环语句:break  只能在循环中使用,多半都是搭配死循环使用的
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值