If you want to find out whether you're on a specific page, post, in a category archive, etc., then core has to offer Conditional Tags for this.
If you want to hook a js-script definition, then a better way to do this is the following:
// Assuming that you drop your js code into a separate file instead of just between <script>-tags
// 1st: Register during init hook
wp_register_script( $name, $url, $dependency, filemtime( $path ), true )
add_action( 'init', 'add_my_script' );
// 2nd: Enqueue during enqueue hook
// Choose your conditions:
// On Admin, check against "global $hook_suffix, $pagenow, $typenow"
if ( 'post-new.php' !== $typenow )
// On public pages, choose your conditions from the list of Conditional Tags
// Example: Only on pages
if ( ! is_page() )
// ...Nothing to do on login
// print the script to the screen
wp_enqueue_script( $name );
// Choose where you need it
add_action( 'wp_enqueue_scripts', 'enqueue_my_script' );
add_action( 'admin_enqueue_scripts', 'enqueue_my_script' );
add_action( 'login_enqueue_scripts', 'enqueue_my_script' );
You can sum up/collect all your little functions, that get hooked somewhere and put the
add_action calls into a function that gets loaded on the first hook that's available to themes:
after_setup_theme. Important is that the child themes functions.php gets loaded first, then the parent themes and then the
after_setup_theme hook. So you can let the possibility open to change things from inside your parent or child theme.
add_action( 'wp_head', 'js_func' );
// other functiony things
add_action( 'after_setup_theme', 'theme_bootstrap_fn' );
// Define your function:
// do stuff
// Add variables like this:
But to answer your question: Yes, you can call every global function inside another function.