php与js的区别是什么


Posted in Javascript onAugust 05, 2013

1,类型转换的不同

在javascript中

空对象和空数组转换为boolean值为true;

但在php中

空对象空数组转换为boolean值为false;

(仅在php4中空对象的boolean值为false)

包括非0的负数值,都是转换为true;

2,实形参的不同

在js中形参和实参的个数对比起来都没有限制,形参个数可以大于实参,也可以少于实参

而在php中,实参数大于形参不报错,但当实参个数少于形参个数时(并且未指定的形参未定义时就会报错)

function mao(val1,val2,val3){ 
} 
mao(aa,bb);

此时由于val3未指定实参,会报错
但当val3初始化一个值时,不报错

function mao(val1,val2,val3="123"){ 
} 
mao(aa,bb);

js中可以写一个三元表达式来给未赋值的形参给定一个初始值,不可以和php一样在形参列表里面赋值,
本质原因由于php不存在原型连,执行过程中没有变量对象。

3.数据类型的不同

js中有undefined类型,php中无此类型,

因此当一个变量未赋予任何值时,js中此类型为undefined(使用未申明的变量会报错),而在php中则为Null类型;

并且js中只有number类型,而在php中无此类型,取代的为int float类型;

4.字符串的连接

js中使用加号 + +=

php中使用点号 ..=

5.控制语句的区别

else if与elseif在php中都支持,js只支持前者

6.大小写问题

js严格区分大小写

php中自定义函数名不区分大小写。命名函数时不可使用已声明的函数,或PHP内建的函数名称。

7.变量的作用范围

php在函数范围之外所声明的变量就是全局变量。由于函数可以视为单独的
程序片段,所以局部变量会复盖全局变量的能见度,因此在函数中并无
法直接调用使用全局变量。函数中若要使用全局变量时,必须要利用global关键字定义目标变量,以
告诉函数主体此变量为全局。

js由于原型连的关系,可直接调用

8.静态变量

PHP支持声明函数变量为静态的(static)

js随无静态变量但可以定义函数的属性来冒充静态变量

Javascript 相关文章推荐
JavaScript 特殊字符
Apr 05 Javascript
JavaScript的变量作用域深入理解
Oct 25 Javascript
javascript(jquery)利用函数修改全局变量的代码
Nov 02 Javascript
jquery获取复选框被选中的值
Apr 10 Javascript
Javascript 实现复制(Copy)动作方法大全
Jun 20 Javascript
Javascript中判断对象是否为空
Jun 10 Javascript
AngularJS中的API(接口)简单实现
Jul 28 Javascript
详解angular element()方法使用
Apr 08 Javascript
微信小程序 图片宽高自适应详解
May 11 Javascript
浅谈React深度编程之受控组件与非受控组件
Dec 26 Javascript
JavaScript单线程和任务队列原理解析
Feb 04 Javascript
利用node.js开发cli的完整步骤
Dec 29 Javascript
IE下写xml文件的两种方式(fso/saveAs)
Aug 05 #Javascript
js获取input标签的输入值实现代码
Aug 05 #Javascript
js实现页面转发功能示例代码
Aug 05 #Javascript
Jquery:ajax实现翻页无刷新功能代码
Aug 05 #Javascript
jquery js 重置表单 reset()具体实现代码
Aug 05 #Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
Aug 05 #Javascript
artDialog双击会关闭对话框的修改过程分享
Aug 05 #Javascript
You might like
PHP调用三种数据库的方法(1)
2006/10/09 PHP
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
2014/11/14 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
Bootstrap基本样式学习笔记之表格(2)
2016/12/07 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
React 子组件向父组件传值的方法
2017/07/24 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
2019/04/04 Javascript
python每次处理固定个数的字符的方法总结
2013/01/29 Python
跟老齐学Python之print详解
2014/09/28 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
python正则表达式实例代码
2020/03/03 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
Python 实现进度条的六种方式
2021/01/06 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
linux面试相关问题
2013/04/28 面试题
实习单位接收函
2014/01/11 职场文书
销售简历自我评价
2014/01/24 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
学生实习证明模板汇总
2014/09/25 职场文书
spring boot中nativeQuery的用法
2021/07/26 Java/Android
关于JavaScript轮播图的实现
2021/11/20 Javascript
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
Python保存并浏览用户的历史记录
2022/04/29 Python