java script的基础理解以及常规的使用注意事项「建议收藏」

java script的基础理解以及常规的使用注意事项「建议收藏」js:javascriptjs一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。在语句上还是有一些类似之处,但本质上还是很不一样的:js是基于对象的,边解释边执

大家好,又见面了,我是你们的朋友全栈君。

js:java script

js一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。

Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。在语句上还是有一些类似之处,但本质上还是很不一样的:
js是基于对象的,边解释边执行,而Java面向对象,编译之后再执行。

1.HTML引入js方式
(1)内部js:在·HTML中直接插入script语句要求最好出现在最后一行

<script>
...
</script>

(2)外部js:引入外部的js 实际就是同过.js文件导入外部js语句

<script path=””></script>
这里就是通过文件地址直接关联js文件。

2.js变量和数据类型
(1)变量声明

①var varname;
②let varname;

(2)变量的赋值
特别的:和java不同js是赋值时才确定变量类型:值类型决定变量类型,变量的类型随赋值类型的不同,可以改变,甚至变量可以直接赋值使用,但规范起见,不这样使用

①获取变量的实际类型

var str = typeof(var)

②string 字符串

“”,”*”,’’,’*’

字符串转化为数值类型以及字符串一些常见的用法

a.var int = parseInt(str);			字符串转化为整数
b.var float = parseFloat(str);		字符串转化为小数
c.var length = str.length;
d.var ix = str.indexOf(subSrt[,beginIndex])
		//[从beginIndex位置开始]查找
		//subStr的首字符在str中首次出现的
		//位置如果存在返回位置
		//不存在返回-1;
e.var lastIndex = str.lastIndexOf(subStr[,beginIndex])
		//[从beginIndex位置开始]查找
		//subStr的首字符在str中最后出现的位置
f.var subStr = str.substring(beginIndex [endIndex]);
		//截取从beginIndex开始截取到
		//endIndex之间的字符串
g.var arr = str.split(sepStr);
		//以sepStr为分隔符,
		//将字符串拆分成字符数组
h.字符串拼接
	+:和java一样;
	“aa”.concat(“bb”);

③数值类型:number

js中数值类型只有number
float.toFixed(n) 
		//小数精确到n位,四舍五入

④boolean类型

true/false

特别的:js中:0,’’,””,null,undefined(声明未赋值) 作为false使用

⑤object 引用类型

1)数组

a.创建数组

var arr = new Array(var1, var1,..);
var arr = [];

b.数组的常用的属性和方法

int len = arr.length;
arr.push(item);		 //尾部追加元素

删除

arr.splice(beginIndex,howManytoDelete,item...);
//从beginIndex(inclusive)
/开始删除howManytoDelete个元素,
//并插入item...
//如果为howManytoDelete为0,则默认为插入操作,			
//如果item...为空,则默认为删除操作

var peak = arr.pop();	
//获取并删除最后一个元素模拟栈

var top= arr.shift();		
//获取并删除第一个元素		模拟队列

var str = arr.join(joinStr);
//使用指定的joinStr将所有数组元素连成一个字符串

c.数组遍历

(1)for循环

for(var i=0;i<numbers.length;i++){
	console.log(numbers[i]);		
//console.log(“”);是控制	台的输出
}

(2)js中的in是下标

for(const i in numbers){
	console.log(numbers[i]);
}

(3)forEach方法

numbers.forEach((e,i)=>{
	console.log(i+","+e);
})

numbers.forEach(e=>{
console.log(e);
})

2)日期

var date = new Date();
console.log(date);		整个日期
console.log(date.getFullYear());
//获取年份
console.log(date.getMonth()+1);
//月份是从0开始的,所以+1是真实月份
console.log(date.getDate());
//获取几号
console.log(date.getDay());	
//星期0~6
console.log(date.getHours());
//获取小时数
console.log(date.getMinutes());
//获取分钟数
console.log(date.getSeconds());
	//获取秒数

3)自定义对象

var instanceof  Type//判断类型
function Student(stuNo,name,age,gender,address){
this.stuNo = stuNo;
this.name = name;
this.age = age;

//自定义函数的创建,看下一节
this.getStuNo = function(){return this.stuNo;}
this.getName = function(){return this.name;}
this.getAge = function(){return this.age;}	

this.setStuNo = function(stuNo){this.stuNo = stuNo;}
this.setName = function(name){this.name = name;}
this.setAge = function(age){this.age = age;}	
this.toString = function(){
	return [this.stuNo,this.name,this.age].join(',');
}
}
//构造函数创建对象
var stu = new Student(6,"张	三",45,'男',"afdsf");
stu.setName("王二麻");
console.log(stu.toString());

//json对象创建
var student = {
	stuNo:1,
	name:"hhh",
	age:98,
	gender:"男",
	address:"江苏南京"
};

var stuStr = JOSN.stingify(student);

//json字符串(模板格式)
var stuStr = `{"stuNo":1,"name":"huang"}`
				var jsonStu = JOSN.parse(stuStr);

				//访问对象的属性
					var val = object.field;
					var val = objec[“field”];
				//类似于反射
				for(const field in student){
					console.log(field+"="+student[field]);
				}

⑦function 函数类型
1)自定义函数

a.function funName(param...){...}
b.var funNamr = function(param...){...}
c.参数的值传递和引用传递

2)内置函数 比如parseInt…直接使用

parseInt
parseFloat
JSON.stringify
JSON.parse
setTImeout(func,tim(ms));延时函数
setInterval(func,time(ms));定时函数

3)构造函数:相当于java中的类
a.首字母大写的函数
4)回调函数:将函数作为引用传给另一个函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156651.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • matlab 汽车振动,matlab在汽车振动分析

    matlab 汽车振动,matlab在汽车振动分析matlab在汽车振动分析Matlab在振动分析中的应用刘迪辉2011-10-20大家学了游泳理论,现在我们借助MATLAB软件,来练习一下游泳!实际问题:客车的振动分析•客车样车路试过程中却出现了令人意想不到的一系列振动问题,主要表现为:(1)汽车起动时发动机抖动厉害;(2)当车速在40km/h左右时,整车有共振现象;(3)当车速在85km/h左右时,…

    2022年10月16日
  • 【强化学习纲要】8 模仿学习「建议收藏」

    【强化学习纲要】8 模仿学习「建议收藏」【强化学习纲要】8模仿学习8.1模仿学习概要8.2BehavioralcloningandDAGGER8.3InverseRLandGAIL8.4进一步改进模仿学习的模型8.5模仿学习和强化学习结合8.6Casestudies周博磊《强化学习纲要》学习笔记课程资料参见:https://github.com/zhoubolei/introRL.教材:SuttonandBarton《ReinforcementLearning:AnIntroduction》8.1

  • linux udp编程 绑定失败_udp socket编程

    linux udp编程 绑定失败_udp socket编程简介UDP协议与TCP协议一样用于处理数据包,在OSI模型中,两者都位于传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。代码实现#ifndef_SOCKET_HPP_#define_SOCKET_HPP_#include<iostream>#include<sstream>#include<exception>#include<strin

  • ImageView(仿QQ图片查看器)

    ImageView(仿QQ图片查看器)程序运行截图:使用方法:1、直接把图像文件拖到图标上显示2、通过命令行方式,示例:ImageView.exe”带全路径的图像文件名称”3、打开ImageView.exe,将图像文件拖到窗口上显示未实现功能:1、右下角比例窗口2、最大化后的窗口底部图片选取条3、打开/关闭窗口动画效果4、优化GDI+支持的图像格式判断逻辑5、不使用图片

  • 数据库的三大范式[通俗易懂]

    数据库的三大范式[通俗易懂]当你应聘后端岗位的时候,数据库的知识必不可少,今天给大家分享一下数据库三大范式的通俗理解第一范式:无重复的列第二范式:属性完全依赖于主键第三范式:属性不依赖于其他非主属性总结:第一范式(1NF)原子性:保证数据不可再分第二范式(2NF)前提:满足第一范式每张表只描述一件事情,就是主键对应着所有信息第三范式(3NF)前提:满足第一和第二范式第三范式需要保证表中的数据和主键直接相关,而不是间接相关注意:阿里巴巴要求关联查询的表不得超过3张,数据库的性能更加重要,适当考虑规范性就好其实目前关系数据库有六种范式:

  • Windows下卸载TensorFlow

    Windows下卸载TensorFlow激活tensorflow:activatetensorflow 输入:pipuninstalltensorflow Proceed(y/n):y如果是gpu版本:激活tensorflow:activatetensorflow-gpu 输入:pipuninstalltensorflow-gpu Proceed(y/n):y  …

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号